Recordng medium, reproduction apparatus, recording method, reproducing method, program, and integrated circuit

ABSTRACT

A recording medium storing an AVClip structured by multiplexing video stream and a graphics stream. The graphics stream represents a moving picture made of a plurality of pictures, and the graphics stream includes graphics data representing graphics to be combined with the pictures. The graphics stream also includes window information (WDS) that specifies a window for rendering the graphics, and that indicates a width, a height and a position of the window on a plane which is a plane memory of a reproduction apparatus that combines the graphics with the pictures.

TECHNICAL FIELD

The present invention relates to a recording medium such as a BD-ROM,and a reproduction apparatus, and more specifically, to a technique ofsubtitling by reproducing a digital stream constituted by multiplexing avideo stream and a graphics stream.

BACKGROUND ART

Subtitling realized by rendering graphics streams is an importanttechnique for allowing people in different linguistic areas toappreciate a film produced in a language other than their nativelanguages. An example of a conventional technique of subtitling is amemory allocation scheme for a Pixel Buffer based on the ETSI EN 300 743standard set forth by European Telecommunications Standards Institute(ETSI). The Pixel Buffer is a memory for temporarily storingdecompressed graphics, and a reproduction apparatus writes the graphicsin the Pixel Buffer to a display memory called a Graphics Plane, andthus the graphics is displayed. In the memory allocation scheme, adefinition of a Region is included in the Pixel Buffer, and a part ofthe decompressed graphics that corresponds to the Region is written tothe Graphics Plane. For example, when a subtitle “Goodbye . . . ” iscontained in the Pixel Buffer and a position and a size of the Regionare defined so as to includes a part “Go”, then the part “Go” is writtento the Graphics Plane and displayed on the screen. Likewise, when theposition and size of the Region are defined so as to includes a part“Good”, then the part “Good” is displayed on the screen.

By repeating of the defining of the Region and the writing to theGraphics Plane, the subtitle “Goodbye . . . ” is displayed on the screengradually, i.e., first “Go”, next “Good”, then “Goodbye”, and finallythe whole subtitle “Goodbye . . . ” is displayed. By rendering asubtitle in such a way, it is possible to realize a wipe-in effect.

The ESTE EN 300 743 standard, however, does not at all consider toguarantee the sync between a graphics display and a picture display whena burden for writing to the Graphics Plane is high. The graphics writtento the Graphics Plane is not compressed, and accordingly, the burden forwriting to the Graphics Plane increases as a resolution of the graphicsbecomes higher. A size of the graphics to be written to the GraphicsPlane is up to 2 Mbytes when rendering the graphics in a resolution of1920×1080, which is a proposed standard resolution for a BD-ROM, and ahigher bandwidth for a graphics data transfer from the Pixel Buffer tothe Graphics Plane is necessary in order to render graphics as large as2 Mbytes synchronously with the picture display. However, demanding ahigh bandwidth for the data transfer to write the graphics to theGraphics Plane hinders an attempt of cost reduction in manufacturing thereproduction apparatus. It is possible to lower the necessary bandwidthin writing to the Graphics Plane by having the reproduction apparatusalways perform a “reasonable write”, in which only a difference from aprevious display is written to the Graphics Plane. However, demandingthe reproduction apparatus to always perform the “reasonable write”restricts software applicable to the reproduction apparatus.

As described in the above, the high burden for writing to the GraphicsPlane demands that reproduction apparatuses operate in the highbandwidth or perform the reasonable write, and as a result, restrictsproduct development of reproduction apparatuses.

DISCLOSURE OF THE INVENTION

An object of the present invention is to provide a recording medium withwhich graphics may be updated synchronously with a picture display evenwhen an amount of data to be written to a Graphics Plane is large.

In order to achieve the above object, an example of the recording mediumaccording to the present invention is a recording medium used forstoring data, said recording medium comprising: a digital streamconstituted by multiplexing a video stream and a graphics stream,wherein said video stream represents a moving picture made of aplurality of pictures, and the graphics stream includes: graphics datarepresenting graphics to be combined with the pictures; and windowinformation that specifies a window for rendering the graphics therein,the window information indicating a width, a height and a position ofthe window on a plane, the plane being a plane memory of a reproductionapparatus that combines the graphics with the pictures.

By specifying a part of the Plane corresponding to each picture as thewindow for rendering the graphics, it is not necessary that thereproduction apparatus renders the graphics for an entire plane, and itis sufficient that the reproduction apparatus renders the graphics onlyin a limited size of window. Because it is not necessary to render thegraphics outside the window in the plane, the load of software in thereproduction apparatus may be reduced.

Further, by setting a size of the window so as to ensure a sync displaybetween the graphics and the picture, it becomes possible for a producerwho performs authoring to guarantee the sync display in any kind ofreproduction apparatus, even when update of the graphics is performed ina worst case.

Moreover, by setting a position and a size of the window by the windowinformation, it is possible to adjust the position and size of thewindow in the authoring, so that the subtitles are out of the way ofpictures when viewing the screen. Therefore, the visibility of thegraphics are maintained even when the picture on the screen changes astime passes, and thus it is possible to maintain the quality of a film.

The worst case in updating the graphics means a case in which thegraphics is updated in a least efficient operation, i.e. all clear andre-drawing of the window. When setting the size of the window in orderto prepare for the worst case, it is desirable that the above recordingmedium is such that the width and height of the window are set so that asize of the window is 1/x of the plane, the plane corresponding to asize of each picture and x being a real number based on a ratio betweena window update rate and a picture display rate.

By setting the window size in this manner, a bandwidth on thereproduction apparatus that is necessary for writing to the graphicsplane is set to a fixed value. By structuring the reproduction apparatusso as to satisfy this bandwidth, it is possible to realize the syncdisplay between the graphics and the picture regardless of the softwaremounted to the reproduction apparatus.

As described above, it is possible to present a minimum standard for astructure of the reproduction apparatus. As long as the transfer rate isset so as to satisfy the minimum standard, a design of the reproductionapparatus is at the discretion of developers. Therefore, it is possibleto expand the possibility in development of the reproduction apparatus.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an example of use of a recording medium according tothe present invention.

FIG. 2 illustrates a structure of a BD-ROM.

FIG. 3 is a diagram schematically illustrating a structure of an AVClip.

FIG. 4A illustrates a structure of a presentation graphics stream.

FIG. 4B illustrates a PES packet obtained after functional segments areconverted.

FIG. 5 illustrates a logical structure that is made of various kinds offunctional segments.

FIG. 6 illustrates a relation between a display position of a subtitleand an Epoch.

FIG. 7A illustrates syntax to define a Graphics Object in an ObjectDefinition Segment (ODS).

FIG. 7B illustrates syntax of a Palette Definition Segment (PDS).

FIG. 8A illustrates syntax of a Window Definition Segment (WDS).

FIG. 8B illustrates syntax of a Presentation Composition Segment (PCS).

FIG. 9 illustrates an example of a description of a Display Set forsubtitling.

FIG. 10 illustrates an example of a description of the WDS and PCS in aDS1.

FIG. 11 illustrates an example of a description of the PCS in a DS2.

FIG. 12 illustrates an example of a description of the PCS in a DS3.

FIG. 13 is an example of a description of a Display Set when Cut-in/Outis performed, illustrating along a timeline.

FIG. 14 is an example of a description of a Display Set when Fade-In/Outis performed, illustrating along a timeline.

FIG. 15 is an example of a description of a Display Set when Scrollingis performed, illustrating along a timeline.

FIG. 16 is an example of a description of a Display Set when Wipe-In/Outis performed, illustrating along a timeline.

FIG. 17 is a diagram comparing two cases: a window has four GraphicsObjects, and a window has two Graphics Objects.

FIG. 18 illustrates an example of an algorithm for calculating a decodeduration.

FIG. 19 is a flowchart of the algorithm of FIG. 18.

FIGS. 20A and B are flowcharts of the algorithm of FIG. 18.

FIG. 21A illustrates a case in which each window has an ObjectDefinition Segment.

FIGS. 21B and C are timing charts showing orders among numerals referredto in FIG. 18.

FIG. 22A illustrates a case in which each window has two ObjectDefinition Segments.

FIGS. 22B and C are timing charts showing orders among numerals referredto in FIG. 18.

FIG. 23A describes a case in which each of two Windows includes an ODS.

FIG. 23B illustrates a case in which a decode period (2) is longer thana total of a clearing period (1) and a write period (31).

FIG. 23C illustrates a case in which a total of the clearing period (1)and the write period (31) is longer than the decode period (2).

FIG. 24 illustrates shifts in time of update described in an example inthe present specification.

FIG. 25A illustrates four Display Sets that are described so as toperform the above explained update.

FIG. 25B is a timing chart showing settings of DTS and PTS of functionalsegments included in the four Display Sets.

FIG. 26 illustrates an internal structure of a reproduction apparatusaccording to the present invention.

FIG. 27 illustrates sizes of write rates Rx, Rc, and Rd, Graphics Plane8, Coded Data Buffer 13, Object Buffer 15, and Composition Buffer 16.

FIG. 28 is a timing chart illustrating a pipeline processing by thereproduction apparatus.

FIG. 29 illustrates a timing chart in a pipeline processing of a case inwhich decoding of the CDS ends before clearing of the Graphics Plane iscompleted.

FIG. 30 is a flowchart illustrating a process of a loading operation ofa functional segment.

FIG. 31 shows an example of multiplexing.

FIG. 32 illustrates a manner in which a DS10 is loaded to the Coded DataBuffer 13.

FIG. 33 illustrates loading of a DS1, the DS10, and a DS20 in a normalreproduction.

FIG. 34 illustrates loading of the DS1, DS10, and DS20 in the normalreproduction as shown in FIG. 33.

FIG. 35 illustrates a flowchart showing a process performed by theGraphical Controller 17.

FIG. 36 illustrates a flowchart showing the process performed by theGraphical Controller 17.

FIG. 37 illustrates a flowchart showing the process performed by theGraphical Controller 17.

FIG. 38 illustrates a pipeline process of the reproduction apparatusbased on the PTS of the PDS.

FIG. 39 is a diagram describes a significance of the END in the pipelineprocess of the reproduction apparatus.

FIG. 40 illustrates an internal structure of the reproduction apparatusaccording to a second embodiment.

FIG. 41 schematically illustrates an operation of reading cut andwriting to the Graphics Planes that constitute a double buffer.

FIG. 42 is a flowchart illustrating the manufacturing process of theBD-ROM according to a third embodiment.

BEST MODE FOR CARRYING OUT THE INVENTION First Embodiment

A First Embodiment of a recording medium according to the presentinvention is explained below.

FIG. 1 illustrates an example of use of the recording medium. In thedrawing, BD-ROM 100 is the recording medium according to the presentinvention. The BD-ROM 100 is used for providing data of movie works to aHome Theatre System structured by a reproduction apparatus 200, atelevision 300, and a remote controller 400.

The recording medium according to the present invention is manufacturedby an improvement in an application layer of a BD-ROM. FIG. 2illustrates a structure of the BD-ROM.

In the drawing, the BD-ROM is shown at a bottom of the drawing, and atrack on the BD-ROM is shown above the BD-ROM. The track is actually ina spiral shape on the disc, but shown in a line in the drawing. Thetrack includes a lead-in area, a volume area, and a lead-out area. Thevolume area in this drawing has a physical layer, a file system layer,and an application layer. At a top of the drawing, an application formatof the BD-ROM is illustrated using a directory structure. As illustratedin the drawing, the BD-ROM has a directory BDMV under the rootdirectory, and the BDMV directory contains a file for storing an AVClipwith an extension M2TS (XXX.M2TS), a file for storing administrativeinfo for the AVClip with an extension CLPI (XXX.CLPI), and a file fordefining a logical Play List (PL) for the AVClip with an extension MPLS(YYY.MPLS). By forming the above application format, it is possible tomanufacture the recording medium according to the present invention. Ina case in which there are more than one file for each kind, it ispreferable to provide three directories named STREAM, CLIPINF, andPLAYLIST under the BDMV to store the files with the same extension inone directory. Specifically, it is desirable to store the files with theextension M2TS in the STREAM, the files with the extension CLPI in theCLIPINF, and the files with the extension MPLS in the PLAYLIST.

An explanation about the AVClip (XXX.M2TS) in the above applicationformat is given below.

The AVClip (XXX.M2TS) is a digital stream in MPEG-TS format (TS isTransport Stream) obtained by multiplexing a video stream, at least oneaudio stream, and a presentation graphics stream. The video streamrepresents pictures of the film, the audio stream represents sound ofthe film, and the presentation graphics stream represents subtitles ofthe film. FIG. 3 is a diagram schematically illustrating a structure ofthe AVClip.

The AVClip (XXX.M2TS) is structured in a following manner. Each of thevideo stream made of plural vide frames (picture pj1, pj2, and pj3), andthe audio stream made of plural audio frames (top row of the drawing)are converted into a line of PES packets (second row of the drawing),and then into a line of TS packets (third row of the drawing). Thepresentation graphics stream (bottom row of the drawing) is convertedinto PES packets (second to bottom row of the drawing), and then into TSpackets (third to bottom row of the drawing). Three lines of PS packetsare multiplexed, and thus the AVClip (XXX.M2TS) is constituted.

In the drawing, only one presentation graphics stream is multiplexed.However, in a case in which the BD-ROM is compatible to plurallanguages, a presentation graphics stream for each language ismultiplexed to constitute the AVClip. The AVClip constituted in theabove manner is divided into more than one extent, like ordinarycomputer files, and stored in areas in the BD-ROM.

Next, the presentation graphics stream is explained. FIG. 4A illustratesa structure of the presentation graphics stream. A top row indicates theTS packet line to be multiplexed to the AVClip. A second to the top rowindicates the PES packet line that constitutes a graphics stream. ThePES packet line is structured by retrieving payloads out of TS packetshaving a predetermined PID, and connecting the retrieved payloads.

A third to the top row indicates the structure of the graphics stream.The graphics stream is made of functional segments named a PresentationComposition Segment (PCS), a Window Definition Segment (WDS), a PaletteDefinition Segment (PDS), an Object Definition Segment (ODS); and an ENDof Display Set Segment (END). Among the above functional segments, thePCS is called a screen composition segment, and the WDS, PDS, ODS, andEND are called definition segments. The PES packet and each of thefunctional segments correspond one to one, or one to plurality. In otherwords, one functional segment is either recorded in the BD-ROM afterconverted into one PES packet, or after divided into fragments andconverted into more than one PES packet.

FIG. 4B illustrates the PES packet obtained by converting the functionalsegments. As shown in the drawing, the PES packet is made of a packetheader and the payload, and the payload is a substantial body of afunctional segment. The packet header includes a DTS and a PTScorresponding to the functional segment. The DTS and PTS included in thepacket header are hereinafter referred to as the DTS and PTS of thefunctional segment.

The above described various kind of functional segments constitute alogical structure as illustrated in FIG. 5. FIG. 5 illustrates thelogical structure that is made of the various kinds of functionalsegments. In the drawing, a top row illustrates Epochs, a middle rowillustrates Display Sets (DS), and a bottom row illustrates thefunctional segments.

Each of the DS shown in the middle row is a group of functional segmentsthat compose graphics for one screen, among all of the plural functionalsegments that constitute the graphics stream. Broken lines in thedrawing indicate the DS to which the functional segments in the bottomrow belong, and show that a series of the functional segments of thePCS, WDS, PDS, ODS, and END constitute one DS. The reproductionapparatus is able to generate graphics for one screen by reading thefunctional segments that constitute the DS.

The Epochs shown in the top row indicate time periods, and memorymanagement is consecutive timewise along a timeline of the AVClipreproduction in one Epoch. One Epoch also represents a group of datathat is assigned to the same period of time. The memory referred to hereare the Graphics Plane that stores the graphics for one screen, and anObject Buffer that stores decompressed graphics data. Theconsecutiveness of the memory management means a flash of the GraphicsPlane or of the Object Buffer does not occur in the Epoch, and erasingand rendering of the graphics are only performed in a predeterminedrectangular area on the Graphics Plane (the flash here indicatesclearing of all contents of the stored data in a plane or a buffer). Asize and a position of the rectangular area are fixed during one Epoch.As long as the erasing and rendering of the graphics are only performedin the predetermined rectangular area on the Graphics Plane, a syncreproduction between the picture and the graphics is guaranteed. Inother words, the Epoch is a unit in the reproducing timeline, and inthis unit, the picture and the graphics are guaranteed to be reproducedsynchronously. When moving the area, in which the graphics are erasedand rendered, to a different position, it is necessary to define a pointon the timeline to move the area, and a period after the point becomes anew Epoch. The sync reproduction is not guaranteed at a boarder betweentwo Epochs.

In viewing an actual film, one Epoch is a time period in which subtitlesare displayed in the same rectangular area on the screen. FIG. 6illustrates a relation between the position of the subtitles and theEpochs. In an example illustrated by the drawing, the positions at whichthe five subtitles “Actually . . . ”, “I was hiding”, “my feelings.”, “Ialways”, and “loved you.” are shown move according to the picture in thefilm. Specifically, the subtitles “Actually . . . ”, “I was hiding”, and“my feelings.” appear at the bottom of the screen, while the subtitles“I always” and “loved you.” are shown at the top of the screen. Theposition of the rectangular area moves in order that the subtitles areout of the way of pictures when viewing the screen, consideringvisibility of the film. A time period during which the subtitles appearat the bottom is an Epoch 1, and a subsequent time period during whichthe subtitles appear at the top is an Epoch 2. The Epochs 1 and 2 eachhave a different area in which the subtitles are rendered. The area inthe Epoch 1 is a Window 1 positioned at the bottom of the screen, andthe area in the Epoch 2 is a Window 2 positioned at the top of thescreen. The memory management is consecutive in each of the Epochs 1 and2, and accordingly, rendering of the subtitles in the Windows 1 and 2 issynchronous with the pictures.

Next, details about the Display Set (DS) are described.

Broken lines hk11 and hk12 in FIG. 5 indicate which functional segmentat the middle row belongs to which Epoch. A series of DS “Epoch Start”,“Acquisition Point”, and “Normal Case” constitute the Epoch at the topraw. The “Epoch Start”, “Acquisition Point”, and “Normal Case” are typesof the DS, and an order between the “Acquisition Point” and “NormalCase” does not matter and either of them may come first.

The Epoch Start is a DS that has a display effect of “new display”,which indicates a start of a new Epoch. Because of this, the Epoch Startcontains all functional segments needed to display a new composition ofthe screen. The Epoch Start is provided at a position which is a targetof a skip operation of the AVClip, such as a chapter in a film.

The Acquisition Point is a DS that has a display effect of “displayrefresh”, and is identical in content used for rendering graphics withthe Epoch Start which is a preceding DS. The Acquisition Point is notprovided at a starting point of the Epoch, but contains all functionalsegments needed to display the new composition of the screen. Therefore,it is possible to display the graphics without fail when a skipoperation to the Acquisition Point is performed. Accordingly, with theAcquisition Point, it is possible to compose a screen in the middle ofthe Epoch.

The Acquisition Point is provided at a position that could be a targetfor the skip operation. An example of such a position is a position thatcould be specified when performing a time search. The time search is anoperation in response to a user's input of a time to start reproducingfrom a reproducing point corresponding to the time specified by theuser. The time is specified roughly, such as by 10 minutes or by 10seconds, and accordingly, points at which the reproduction starts areprovided at such as a 10 minute interval, or a 10 second interval. Byproviding the Acquisition Point at the points at which the reproductionmay start, it is possible to perform reproduction smoothly after thetime search.

The Normal Case is a DS that has a display effect of “display update”,and contains only elements that are different from the precedingcomposition of the screen. Specifically, when subtitles in a DSv is thesame as subtitles in a DSu but the screen is displayed differently inthe DSv and DSu, the DSv is provided so as to include only the PCS andmakes the DSv the Normal Case. By this, it does not necessary to providean ODS with the same content as the content of the ODS in the precedingDS, and a data size in the BD-ROM may be reduced. On the other hand,because the DS as the Normal Case contains only the difference, it isnot possible to compose the screen using the Normal Case alone.

Details of the Definition Segments (ODS, WDS, and PDS) are explainedbelow. The Object Definition Segment (ODS) is a functional segment thatdefines the Graphics Object. An explanation of the Graphics Object isgiven first. A selling point of the AVClip recorded in the BD-ROM is itsresolution as high as hi-vision, and therefore the resolution for theGraphics Object is set at 1920×1080 pixels. Because of the highresolution of 1920×1080 pixels, it is possible to display a specificcharacter style for the subtitles clearly on the screen. As for colorsof the subtitles, a bit length of an index value for each pixel (ColorDifference Red Cr, Color Difference Blue Cb, Luminance Y, andTransparency T) is 8 bits, and thus it is possible to chose any 256colors out of full color (16,777,216 colors) for the subtitles. Thesubtitles realized by the Graphics Object are rendered by positioningtexts on a transparent background.

Syntax of ODS to define the Graphics Object is shown in FIG. 7A. The ODSis made of segment_type indicating that the segment is the ODS,segment_length indicating a data length of the ODS, object_id uniquelyidentifying the Graphics Object corresponding to the ODS in the Epoch,object_version_number indicating a version of the ODS within the Epoch,last_insequence_flag, and object_data_fragment which is a consecutivesequence of bytes corresponding to a part or all of Graphics Object.

The object_id is for uniquely identifying the Graphics Objectcorresponding to the ODS in the Epoch. The Epoch of the graphics streamcontains more than one ODS having the same ID. The ODS having the sameID also have the same width and height, and are assigned with a commonarea in the Object Buffer. After one of the ODS having the same ID isread in the common area, the read ODS is overwritten by a subsequent ODShaving the same ID. By overwriting the ODS that is read to the ObjectBuffer by the subsequent ODS having the same ID as the reproduction ofthe vide stream proceeds, the graphics by the ODS is updatedaccordingly. A size constraint that the width and height of the GraphicsObject having the same ID should be the same is applied only during oneEpoch, and the Graphics Objects in different Epochs may have differentsizes.

Explanations about last_sequence_flag and object_data_fragment are givennext. In some cases, it is not possible to store the decompressedgraphics that constitutes the subtitle in one ODS due to a payloadconstraint of the PES packet. In such cases, the graphics is split intoa series of consecutive fragments, and one fragment is set to theobject_data_fragment. When one Graphics Object is stored as more thanone fragment, every fragment except a last fragment has the same size.The last fragment is less than or equal to the size of previousfragments. The ODS carrying the fragments appear in the same sequentialorder in the DS, with an end of the sequence indicated by the ODS havingthe last_sequence_flag. Although the above described syntax of the ODSis based on a premise that the fragments are stacked in from thepreceding PES, the fragments may be stacked so that each PES contains ablank part.

Next, the Palette Definition Segment (PDS) is explained. The PDS is usedto define a palette for a color conversion. FIG. 7B shows syntax of thePDS. The PDS is made of segment_type indicating that the segment is thePDS, segment_length indicating a data length of the PDS, palette_iduniquely identifying the palette contained in the PDS,palette_version_number indicating a version of the PDS within the Epoch,and palette_entry_id specifying an entry number of the palette. Thepalette_entry_id indicates the Color Difference Red (Cr_value), theColor Difference Blue (Cb_value), Luminance (Y_value), and Transparency(T_value).

Next, an explanation about the Window Definition Segment (WDS) is givenbelow.

The WDS is used to define the rectangular area on the Graphics Plane. Asdescribed in the above, the memory management is sequential only whenerasing and rendering is performed within a certain area on the GraphicsPlane. The area on the Graphics Plane is defined by the WDS and called“Window”. FIG. 8A illustrates syntax of the WDS. As shown by thedrawing, the WDS is made of segment_type indicating that the segment isthe WDS, segment_length indicating a data length of the WDS, window_iduniquely identifying the Window on the Graphics Plane,window_horizontal_position specifying a horizontal address of a top leftpixel of the Window on the Graphics Plane, window_vertical_positionspecifying a vertical address of the top left pixel of the Window on theGraphics Plane, window_width specifying a width of the Window on theGraphics Plane, and window_height specifying a height of the Window onthe Graphics Plane.

Ranges of values that the window_horizontal_position,window_vertical_position, window_width, and window_height may take areexplained below. A coordinate system for those values is within an areaon the Graphics Plane, and whose size is indicated two-dimensionally bythe window_height for a height and the window_width for a width.

The window_horizontal_position specifies the horizontal address of thetop left pixel of the Window on the Graphics Plane, and is within arange of 0 to (window_width)−1. Also, the window_vertical_positionspecifies the vertical address of the top left pixel of the Window onthe Graphics Plane, and is within a range of 0 to (window_height)−1.

The window_width specifies the width of the Window on the GraphicsPlane. The specified width falls within a range of 1 to(video_width)-(window_horizontal_position). Further, the window_heightspecifies the height of the Window on the Graphics Plane, and thespecified height is within a range of 1 to(video_height)-(window_vertical_position).

The position and size of the Window on the Graphics Plane for each Epochare defined by the window_horizontal_position, window_vertical_position,window_width, and window_height. Accordingly, it is possible to adjustthe position and size of the Window at authoring, so that the Window inone Epoch appears at the position that does not come in the way of thepicture when viewing the film. By this, the visibility of the subtitlesbecomes higher. Because the WDS is defined for each Epoch, it ispossible to adjust the position of the Window according to the picture,even if the picture changes in the course of time. As a result, thequality of the film is maintained as high as in a case where thesubtitles are incorporated in the main body of the film.

Next, the End of Display Set Segment (END) is explained. The ENDprovides an indication that a transmission of the DS is completed. TheEnd is inserted into a stream immediately after a last ODS in one DS.The End is made of segment_type indicating that the segment is the ENDand segment_length indicating a data length of the END. The END does notinclude any other element that requires a further explanation.

Next, an explanation about the Presentation Composition Segment(PCS) isgiven below.

The PCS is a functional segment that is used for composing aninteractive display. FIG. 8B illustrate syntax of the PCS. As shown inthe drawing, the PCS is made of segment_type, segment_length,composition_number, composition_state, palette_update_flag, palette_id,and window information 1-m.

The composition_number identifies the Graphics Update in the DS byvalues in a range of 0 to 15. If the Graphics Update exists between thehead of the Epoch and the PCS, the composition_number is incrementedevery time the Graphics Update occurs.

The composition_state indicates the type of the DS in which the PCS iscontained, Normal Case, Acquisition Point, or Epoch Start.

The palette_update_flag indicates that the PCS describes a Palette onlyDisplay Update. The Palette only Display Update indicates that only thepalette is updated from an immediately previous palette. Thepalette_update_flag field is set to “1”, if the Palette only DisplayUpdate is performed.

The palette_id identifies the palette to be used in the Palette onlyDisplay Update.

The window information 1-m indicate how to control each Window in the DSto which the PCS belong. A broker, line wd1 in FIG. 8B is to detail aninternal syntax for window information i. The window information i ismade of object_id, window_id, object_cropped_flag,object_horizontal_position, an object_vertical_position, andcropping_rectangle information 1-n.

The object_id identifies the ODS in a Window corresponding to the windowinformation i.

The window_id identifies the Window to which the Graphics Object isallocated in the PCS. Up to two Graphics Objects may be assigned to oneWindow.

The object_cropped_flag is used to switch between display and no-displayof a cropped Graphics Object in the Object Buffer. When theobject_cropped_flag is set to “1”, the cropped Graphics Object isdisplayed in the Object Buffer, and if set to “0”, the Graphics Objectis not displayed.

The object_horizontal_position specifies a horizontal address of a topleft pixel of the Graphics Object in the Graphics Plane.

The object_vertical_position specifies a vertical address of the topleft pixel of the Graphics Object in the Graphics Plane.

The cropping_rectangle information 1-n are elements used when theobject_cropped_flag is set to “1”. A broken line wd2 is to detail aninternal syntax for cropping_rectangle information i. As shown by thebroken line wd2, the cropping_rectangle information i is made of fourfields, object_cropping_horizontal_position,object_cropping_vertical_position, object_cropping_width, andobject_cropping_height.

The object_cropping_horizontal_position specifies a horizontal addressof a top left corner of a cropping rectangle to be used during renderingof the Graphics Object in the Graphics Plane. The cropping rectangle isa cropping frame that is used to specify and crop a part of the GraphicsObject, and corresponds to Region in the ETSI EN 300 743 standard.

The object_cropping_vertical_position specifies a vertical address ofthe top left corner of the cropping rectangle to be used duringrendering of the Graphics Object in the Graphics Plane.

The object_cropping_width specifies a width of the cropping rectangle.

The object_cropping_height specifies a height of the cropping rectangle.

A specific example of the PCS is detailed below. In the example, thesubtitles “Actually . . . ”, “I was hiding”, and “my feelings.” as shownin FIG. 6 appear gradually by writing to the Graphics Plane 3 times asthe picture proceeds. FIG. 9 is an example of description for realizingsuch a subtitle display. An Epoch in the drawing includes a DS1 (EpochStart), a DS2 (Normal Case), and a DS3 (Normal Case). The DS1 contains aWDS for specifying the Window in which the subtitles are displayed, anODS for specifying the line “Actually . . . I was hiding my feelings.”,and a first PCS. The DS2 contains a second PCS, and the DS3 contains athird PCS.

FIGS. 10-12 illustrate examples of the WDS and PCS contained in the DS.FIG. 10 shows an example of the PCS in the DS1.

In FIG. 10, the window_horizontal_position and thewindow_vertical_position of the WDS are indicated by a LP1, a positionof the top left pixel of the Window on the Graphics Plane. Thewindow_width and window_height indicate the width and height of theWindow, respectively.

In FIG. 10, the object_cropping_horizontal_position andobject_cropping_vertical_position indicate a reference point ST1 of thecropping rectangle in the coordinate system in which an origin is thetop left pixel of the Graphics Object. The cropping rectangle is an areahaving the width from the ST to the object_cropping_width, and theheight from the ST to the object_cropping_height (a rectangle shown by aheavy-line frame). The cropped Graphics Object is positioned within arectangle shown by a broken-line frame cp1, with a reference point inthe coordinate system with an origin at the object_horizontal_positionand object_vertical_position (the top left pixel of the Graphics Object)in the Graphics Plane. By this, the subtitle “Actually . . . ” iswritten to the Window on the Graphics Plane, and then composed with themovie picture and displayed on the screen.

FIG. 11 shows an example of the PCS in the DS2. The WDS in the DS2 isnot explained, because the WDS in the DS2 is the same as the WDS in theDS1. A description of the cropping information in the DS2 is differentfrom the description of the cropping information shown in FIG. 10.

In FIG. 11, the object_cropping_horizontal_position andobject_cropping_vertical_position in the cropping information indicate atop left pixel of the subtitle “I was hiding” out of “Actually . . . Iwas hiding my feelings.” in the Object Buffer. The object_cropping_widthand object_cropping_height indicates a width and a height of a rectanglecontaining the subtitle “I was hiding”. By this, the subtitle “I washiding” is written to the Window on the Graphics Plane, and thencomposed with the movie picture and displayed on the screen.

FIG. 12 shows an example of the PCS in the DS3. The WDS in the DS3 isnot explained, because the WDS in the DS3 is the same as the WDS in theDS1. A description of the cropping information in the DS3 is differentfrom the description of the cropping information shown in FIG. 10.

In FIG. 12, the object_cropping_horizontal_position andobject_cropping_vertical_position in the cropping information indicate atop left pixel of the subtitle “my feelings.” out of “Actually . . . Iwas hiding my feelings.” in the Object Buffer. The object_cropping_widthand object_cropping_height indicates a width and a height of a rectanglecontaining the subtitle “my feelings.”. By this, the subtitle “myfeelings.” is written to the Window on the Graphics Plane, and thencomposed with the movie picture and displayed on the screen.

By describing the DS1, DS2, and DS3 as explained above, it is possibleto achieve an effect of displaying the subtitles on the screen. It isalso possible to achieve other kinds of effect, and descriptionprotocols for realizing other effects are explained below.

First, a description protocol for a Cut-In/Out effect is explained. FIG.13 shows an example of the description of the DS when Cut-In/Out isperformed, illustrating along a timeline.

In the drawing, x and y in Window(x,y,u,v) respectively indicate valuesof the window_vertical_position and window_horizontal_position, and uand v respectively indicate values of the window_width andwindow_height. Also in the drawing, a and b in Cropping Rectangle (a,b,c,d) respectively indicate values of theobject_cropping_vertical_position andobject_cropping_horizontal_position, and c and d indicate values of theobject_cropping_width and object_cropping_height, respectively. DisplaySets DS11, DS12, and DS13 are at points t11, t12, and t13 on thereproduction timeline in the drawing.

The DS11 at the point t11 includes a PCS#0 in which thecomposition_state is “Epoch Start” and the object_cropped_flag is “0”(no_cropping_rectangle_visible), a WDS#0 having a statement for a Windowin a width 700×height 500 at (100,100) in the Graphics Plane, a PDS#0,an ODS#0 indicating a subtitle “Credits:”, and an END.

The DS12 at the point t12 includes a PCS#1 whose composition_state is“Normal Case” and indicating a crop operation of the Graphics Object tobe in a 600×400 size from (0,0) in the Object Buffer(cropping_rectangle#0(0,0,600,400)), and positioning the croppedGraphics Object at the coordinates (0,0) in the Graphics Plane (onWindow#0(0,0)).

The DS13 at the point t13 includes a PCS#2 whose composition_state is“Normal Case” and in which the object_cropped_flag is set to “0” so asto erase the cropped Graphics Object (no_cropping_rectangle_visible).

With the above explained Display Sets, the subtitle “Credits:” isno-display at the t11, appears at the t12, then becomes no-display atthe t13 again, and the Cut-In/Cut-Out effect is realized.

Secondly, a description protocol for a Fade-In/Out effect is explained.FIG. 14 shows an example of the description of the DS when Fade-In/Outis performed, illustrating along a timeline. Display Sets DS21, DS22,DS23, and DS24 are at points t21, t22, t23, and t24 on the reproductiontimeline in the drawing.

The DS21 at the point t21 includes a PCS#0 whose composition_state is“Epoch Start” and indicating the crop operation of the Graphics Objectto be in a 600×400 size from (0,0) in the Object Buffer(cropping_rectangle#0(0,0,600,400)), and positioning the croppedGraphics Object at the coordinates (0,0) in the Graphics Plane (onWindow#0 (0,0)), a WDS#0 having a statement for a Window in a width700×height 500 at (100,100) in the Graphics Plane, a PDS#0, an ODS#0indicating a subtitle “Fin”, and an END.

The DS22 at the point t22 includes a PCS#1 whose composition_state is“Normal Case”, and a PDS#1. The PDS#1 indicates the same level of Cr andCb as the PDS#0, but a luminance indicated by the PDS#1 is higher thanthe luminance in the PDS#0.

The DS23 at the point t23 includes a PCS#2 whose composition_state is“Normal Case”, a PDS#2, and an END. The PDS#2 indicates the same levelof Cr and Cb as the PDS#1, but the luminance indicated by the PDS#2 islower than the luminance in the PDS#1.

The DS24 at the point t24 includes a PCS whose composition_state is“Normal Case” and the object_cropped_flag is “0”(no_cropping_rectangle_visible), and an END.

Each DS specifies a different PDS from a preceding DS, and accordingly,the luminance of the Graphics Object that is rendered with more than onePCS in one Epoch becomes gradually high, or low. By this, it is possibleto realize the effect of Fade-In/Out.

Next, a description protocol for a Scrolling is explained. FIG. 15 showsan example of the description of the DS when Scrolling is performed,illustrating along a timeline. Display Sets DS31, DS32, DS33, and DS34are at points t31, t32, t33, and t34 on the reproduction timeline in thedrawing.

The DS31 at the point t31 includes a PCS#0 whose composition_state isset to “Epoch Start” and object_cropped_flag is “0”(no_cropping_rectangle_visible), a WDS#0 having a statement for a Windowin a width 700×height 500 at (100,100) in the Graphics Plane, a PDS#0,an ODS#0 indicating a subtitle “Credits: Company”, and an END.

The DS32 at the point t32 includes a PCS#1 whose composition_state is“Normal Case” and indicating the crop operation of the Graphics Objectto be in a 600×400 size from (0,0) in the Object Buffer(cropping_rectangle#0(0,0,600,400)), and positioning the croppedGraphics Object at the coordinates (0,0) in the Graphics Plane (onWindow#C (0,0)). An area of the 600×400 size from (0,0) in the ObjectBuffer includes a part “Credits:” of the subtitle “Credits: Company”shown in two lines, and thus the part “Credits:” appears on the GraphicsPlane.

The DS33 at the point t33 includes a PCS#2 whose composition_state is“Normal Case” and indicating the crop operation of the Graphics Objectto be in a 600×400 size from (0,100) in the Object Buffer(cropping_rectangle#0 (0,100,600,400)), and positioning the croppedGraphics Object at the coordinates (0,0) in the Graphics Plane (onWindow#0 (0,0)). The area of the 600×400 size from (0,100) in the ObjectBuffer includes the part “Credits: ” and a part “Company” of thesubtitle “Credits: Company” shown in two lines, and thus the parts“Credits:” and “Company” appear in two lines on the Graphics Plane.

The DS34 at the point t34 includes a PCS#3 whose composition_state is“Normal Case” and indicating the crop operation of the Graphics Objectto be in a 600×400 size from (0,200) in the Object Buffer(cropping_rectangle#0 (0,200,600,400)), and positioning the croppedGraphics Object at the coordinates (0,0) in the Graphics Plane (onWindow#0 (0,0)). The area of the 600×400 size from (0,200) in the ObjectBuffer includes the part “Company” of the subtitle “Credits: Company”shown in two lines, and thus the part “Company” appears on the GraphicsPlane. By the above PCS description, it is possible to scroll down thesubtitle in two lines.

Finally, a description protocol for a Wipe-In/Out effect is explained.FIG. 16 shows an example of the description of the DS when Wipe-In/Outis performed, illustrating along a timeline. Display Sets DS21, DS22,DS23, and DS24 are at points t21, t22, t23, and t24 on the reproductiontimeline in the drawing.

The DS51 at the point t51 includes a PCS#0 whose composition_state isset to “Epoch Start” and the object_cropped_flag is “0”(no_cropping_rectangle_visible), a WDS#0 having a statement for a Windowin a width 700×height 500 at (100,100) in the Graphics Plane, a PDS#0,an ODS#0 indicating a subtitle “Fin”, and an END.

The DS52 at the point t52 includes a PCS#1 whose composition_state is“Normal Case” and indicating the crop operation of the Graphics Objectto be in a 600×400 size from (0,0) in the Object Buffer(cropping_rectangle#0(0,0,600,400)), and positioning the croppedGraphics Object at the coordinates (0,0) in the Graphics Plane (onWindow#0 (0,0)). An area of the 600×400 size from (0,0) in the ObjectBuffer includes the subtitle “Fin”, and thus the subtitle “Fin” appearson the Graphics Plane.

The DS53 at the point t53 includes a PCS#2 whose composition_state is“Normal Case” and indicating the crop operation of the Graphics Objectto be in a 400×400 size from (200,0) in the Object Buffer(cropping_rectangle#0 (200,0,400,400)), and positioning the croppedGraphics Object at the coordinates (200,0) in the Graphics Plane (onWindow#0 (200,0)). By this, an area indicated by coordinates (200,0) and(400,400) in the Window becomes a display area, and an area indicated bycoordinates (0,0) and (199,400) becomes a no-display area.

The DS54 at the point t54 includes a PCS#3 whose composition_state is“Normal Case” and indicating the crop operation of the Graphics Objectto be in a 200×400 size from (400,0) in the Object Buffer(cropping_rectangle#0 (400,0,200,400)), and positioning the croppedGraphics Object at the coordinates (400,0) in the Graphics Plane (onWindow#0 (400,0)). By this, an area indicated by coordinates (0,0) and(399,400) becomes the no-display area.

By this, as the no-display area becomes larger, the display area becomessmaller, and thus the Wipe-In/Out effect is realized.

As described above, various effects such as Cut-In/Out, Fade-In/Out,Wipe-In/Out, and Scrolling may be realized using corresponding scripts,and therefore it is possible to make various arrangements in renderingthe subtitles.

Constraints for realizing the above effects are as follows. In order torealize the Scrolling effect, operations for clearing and redrawing ofthe Window becomes necessary. Taking the example of FIG. 15, it isnecessary to perform “window clear” to erase the Graphics Object“Credits:” at the t32 from the Graphics Plane, and then to perform“window redraw” to write a lower part of “Credits:” and an upper part of“Company” to the Graphics Plane during an interval between the t32 andt33. Given that the interval is the same as an interval of video frames,a transfer rate between the Object Buffer and the Graphics Planedesirable for the Scrolling effect becomes an important point.

Here, a constraint about how large the Window may be is looked into. AnRc is the transfer rate between the Object Buffer and the GraphicsPlane. A worst scenario here is to perform both of the Window clear andWindow redraw at the rate Rc. In this case, each of the Window clear andWindow redraw is required to be performed at a rate half of Rc (Rc/2).

In order to make the Window clear and Window redraw synchronized with avideo frame, an equation below is need to be satisfied.

Window size×Frame Rate≈Rc/2

If the Frame Rate is 29.97, Rc is expressed by an equation below.

Rc=Window size×2×29.97

In rendering the subtitles, the Window size accounts for at least 25% to33% of the Graphics Plane. A total number of pixels in the GraphicsPlane is 1920×1080. Taking that an index bit length per pixel is 8 bits,a total capacity of the Graphics Plane is 2 Mbytes (≈1920×1080×8).

Taking that the Window size is ¼ of the total capacity of the GraphicsPlane, the Window size becomes 500 Kbytes (=2 Mbytes/4). By substitutingthis value to the above equation, Rc is calculated to be 256 Mbps (=500Kbytes×2×29.97). If the rate for the Window clear and Window redraw maybe a half or a quarter of the frame rate, it is possible to double orquadruple the size of the Window even if the Rc is the same.

By keeping the Window size 25% to 33% of the Graphics Plane anddisplaying the subtitles at the transfer rate of 256 Mbps, it ispossible to maintain the sync display between the graphics and the moviepicture, no matter what kind of display effect is to be realized.

Next, the position, size, and area of the Window are explained. Asexplained above, the position and area of the Window does not change inone Epoch. The position and the size of the Window set to be the sameduring one Epoch because it is necessary to change a target writeaddress of the Graphics Plane if the position and the size change, andchanging the address causes an overhead that lowers the transfer ratefrom the Object Buffer to the Graphics Plane.

A number of Graphics Objects per Window has a limitation. The limitationof the number is provided in order to reduce the overhead intransferring decoded Graphics Object. The overhead here is generatedwhen setting the address of an edge of the Graphics Object, and the morea number of edges, the more the overhead is generated.

FIG. 17 shows examples in comparison, an example in which a Window hasfour Graphics Objects and another example in which a Window has twoGraphics Objects. The number of the edges of the example with fourGraphics Objects is twofold of the number of the edges of the examplewith two Graphics Objects.

Without the limitation in the number of the Graphics Object, it becomesunknown how many overheads could be generated in transferring theGraphics, and thus the load for the transfer increases and decreasesdrastically. On the other hand, when a maximum number of the GraphicsObject in a Window is two, the transfer rate may be set taking up to 4overhead into account. Accordingly, it is easier to set the number of aminimum transfer rate.

Next, an explanation about how the DS having the PCS and ODS is assignedto the timeline of the AVClip. The Epoch is a period of time in which amemory management is consecutive along the reproduction timeline. Sincethe Epoch is made of more than one DS, how to assign the DS to thereproduction timeline of the AVClip is important. The reproductiontimeline of the AVClip is a timeline for specifying timings for decodingand reproducing of each piece of picture data that constitute the videostream multiplexed to the AVClip. The decoding and reproducing timingson the reproduction timeline are expressed at an accuracy of 90 KHz. ADTS and PTS that are attached to the PCS and ODS in the DS indicatetimings for a synchronic control on the reproduction timeline. Theassigning of the Display Set to the reproduction timeline meansperforming the synchronic control using the DTS and PTS attached to thePCS and ODS.

First, how the synchronic control is performed using the DTS and PTSattached to the ODS is explained below.

The DTS indicates, at the accuracy of 90 KHz, a time when the decodingof the ODS starts, and the PTS indicates a time when the decoding ends.

The decoding of the ODS does not finish at once, and has a certainlength of time. In response to a request for clearly indicating astarting point and an ending point of a decode duration, the DTS and PTSof the ODS respectively indicate the times when the decoding starts andends.

The value of the PTS indicates the deadline, and therefore it isnecessary that the decoding of the ODS has to be completed by the timeindicated by the PTS and the decompressed Graphics Object is written tothe Object Buffer on the reproduction apparatus.

The decode starting time of any ODSj in a DSn is indicated by a DTS (DSn[ODS]) at the accuracy of 90 KHz. Adding a maximum length of the decodeduration to the DTS(DSn [ODS]) is the time when the decoding of the ODSjends.

When a size of the ODSj is “SIZE (DSn [ODSj])” and a decoding rate ofthe ODS is an “Rd”, the maximum time required for decoding indicated bysecond is expressed in “SIZE (DSn [ODSj])//Rd”. The symbol “//”indicates an operator for a division with rounding up after a decimalplace.

By converting the maximum time period into a number expressed at theaccuracy of 90 KHz and adding to the DTS of the ODSj, the time when thedecoding ends (90 KHz) indicated by the PTS is calculated.

The PTS of the ODSj in the DSn is expressed in a following equation.

PTS(DSn[ODSj])=DTS(DSn[ODSj])+90,000×(SIZE(DSn[ODSj])//Rd)

Further, it is necessary that a relation between two succeeding ODS,ODSj and ODSj+1, satisfies a following equation.

PTS(DSn[ODSj])≦DTS(DSn[ODSj+1])

Next, settings of the DTS and PTS of the PCS are explained.

It is necessary that the PCS is loaded to the Object Buffer on thereproduction apparatus before the decode starting time (DTS (DSn[ODS1]))of a first ODS (ODS1) in the DSn, and before the time (PTS (DSn[PDS1]))when a first PDS (PDS1) in the DSn becomes effective. Accordingly, it isnecessary that the DTS is set so as to satisfy following equations.

DTS(DSn[PCS])≦DTS(DSn[ODS1])

DTS(DSn[PCS])≦PTS(DSn[PDS1])

Further, the PTS of the PCS in the DSn is expressed in a followingequation.

PTS(DSn[PCS])≧DTS(DSn[PCS])+decodeduration(DSn)

The “decodeduration(DSn)” indicates a time duration for decoding all theGraphics Objects used for updating PCS. The decode duration is not afixed value, but does not vary according to a status of the reproductionapparatus and a device or a software mounted to the reproductionapparatus. When the Object used for composing a screen of a DSn.PCSn isa DSn.PCSn.OBJ[j], the decodeduration(DSn) is affected by time (i)needed for clearing the Window, decode durations (ii) for decoding aDSn.PCSn.OBJ, and time (iii) needed for writing of the DSn.PCSn.OBJ.When the Rd and Rc are set, the decode_duration (DSn) is always thesane. Therefore, the PTS is calculated by calculating lengths of thesedurations in authoring.

The calculation of the decode_duration is performed based on a programshown in FIG. 18 . FIGS. 19, 20A and 20B are flowcharts schematicallyshowing algorithms of the program. An explanation about the calculationof the decode_duration is given below referring to these drawings. Inthe flowchart shown in FIG. 19, first, a PLANEINITIALZE function iscalled (Step S1 in FIG. 19). The PLANEINITIALZE function is used forcalling a function for calculating a time period necessary to initializethe Graphics Plane for rendering the DS. In the Step S1 in FIG. 19, thefunction is called with arguments DSn, DSn. PCS. OBJ[0], anddecode_duration.

The following explains the PLANEINITIALZE function in reference to FIG.20A. In the drawing, initialize_duration is a variable indicating areturn value of the PLANEINITIALZE function.

Step S2 in FIG. 20 is an if statement for switching operations dependingon whether or not the page_state in the PCS in the DSn indicates theEpoch Start. If the page_state indicates the Epoch Start(DSn.PCS.page_state==epoch_start, Step S2=Yes in FIG. 18), a time periodnecessary to clear the Graphics Plane is set to an initialize_duration(Step S3).

When the transfer rate Rc between the Object Buffer and the GraphicsPlane is 256,000,000 as described in the above, and the total size ofthe Graphics Plane is set to video_width*video_height, the time periodnecessary to clear is “video_width*video_height//256,000,000”. Whenmultiplied by 90.000 Hz so as to express at the time accuracy of PTS,the time period necessary to clear the Graphics Plane is“90,000×video_width*video_height//256,000,000”. This time period isadded to the initialize_duration.

If the page_state does not indicate the Epoch Start (Step S2=No), a timeperiod necessary to clear Window [i] defined by the WDS is added to theinitialize_duration for all Windows (Step S4). When the transfer rate Rcbetween the Object Buffer and the Graphics Plane is 256,000,000 asdescribed in the above and a total size of Window[i] that belongs to theWDS is ΣSIZE(WDS.WIN[i]), the time period necessary to clear is“ΣSIZE(WDS.WIN[i])//256,000,000”. When multiplied by 90.000 Hz so as toexpress at the time accuracy of PTS, the time period necessary to clearthe Windows that belong to the WDS is“90,000×ΣSIZE(WDS.WIN[i])//256,000,000”. This time period is added tothe initialize_duration, and the initialize_duration as a result isreturned. The above is the PLANEINITIALZE function.

Step S5 in FIG. 19 for switching operations depending on whether thenumber of the Graphics Objects in the DSn is 2 or 1(if(DSn.PCS.num_of_object==2, if(DSn.PCS.num_of_object==1 in FIG. 18),and if the number is 1 (Step S5), a waiting time for decoding theGraphics Object is added to the decode_duration (Step S6). Calculationof the waiting time is performed by calling a WAIT function(decode_duration+=WAIT(DSn, DS.PCS.OBJ[0], decode_duration) in FIG. 18).The function is called using arguments set to DSn, DSn.PCS.OBJ [0],decode_duration, and a return value is wait_duration.

FIG. 20B is a flowchart showing an operation of the WAIT function.

In the flowchart, the decode_duration of an invoker is set as acurrent_duration. An object_definition_ready_time is a variable set tothe PTS of the Graphics Object of the DS.

A current_time is a variable set to a total value of thecurrent_duration and the DTS of the PCS in the DSn. When theobject_definition_ready_time is larger than the current_time (Yes toStep S7, if (current_time<object_definition_ready_time)), thewait_duration as the return value is set to be a difference between theobject_definition_ready_time and the current_time (Step S8,wait_duration+=object _definition_ready_time−current_time). Thedecode_duration is set to the time period that the return value of theWAIT function added to the time period necessary for re-drawing theWindow, (90,000*(SIZE(DSn.WDS.WIN[0]))//256,000,000).

The above explanation is for the case in which the number of theGraphics Object is one. In Step S5 in FIG. 5, it is judged if the numberof the Graphics Objects is two. If the number of the Graphics Objects inthe DSn is more than two (if(DSn.PCS.num_of_object==2) in FIG. 18), theWAIT function is called using OBJ[0] in the PCS as an argument, and adda return value to the decode_duration (Step S10).

In a succeeding Step S11, it is judged if the Window to which the OBJ[0]of the DSn belongs is the same as the Window to which the GraphicsObject [1] belongs (if(DSn.OBJ[0]. window_id==DSn.PCS.OBJ[1].window_id).If the Window is the same, the WAIT function is called using OBJ[1] asan argument, and add a return value wait_duration to the decode_duration(Step S12), and add the time necessary to redraw the Window to whichOBJ[0] belong (90,000*(SIZE (DSn.WDS.OBJ[0]. window_id))//256,000,000)to the decode_duration (Step S13).

If it is judged that the Windows are different (Step S11, “different”),the time necessary to redraw the Window is added to which OBJ[0] belong(90,000*(SIZE (DSn.WDS.OBJ[0]. window_id))//256,000,000) to thedecode_duration (Step S15), the WAIT function is called using OBJ[1] asan argument, and add a return value wait_duration to the decode_duration(Step S16), and the time necessary to redraw the Window to which OBJ[1]belong (90,000*(SIZE (DSn.WDS.OBJ[0]. window_id))//256,000,000) to thedecode_duration (Step S17).

The decode_duration is calculated by the above algorithm. A specificmanner in which the PTS of the OCS is set is explained below.

FIG. 21A illustrates a case in which one ODS is included in one Window.FIGS. 21B and 21C are timing charts showing values in an order of timethat are referred to in FIG. 18. A bottom line “ODS Decode” and a middleline “Graphics Plane Access” in each chart indicate two operations thatare performed simultaneously when reproducing. The above algorithm isdescribed assuming that these two operations are performed in parallel.

The Graphics Plane Access includes a clearing period (1) and a writeperiod (3). The clearing period (1) indicates either a time periodnecessary to clear an entire Graphics Plane (90,000×(size of GraphicsPlane//256,000,000)), or a time period necessary to clear all Windows onthe Graphics Plane (Σ(90,000×(size of Window [i]//256,000,000)).

The write period (3) indicates a time period necessary to render anentire Window (90,000×(size of Window [i]//256,000,000)).

Further, a decode period (2) indicates a time period between the DTS andthe PTS of the ODS.

Lengths of the clearing period (1), the decode period (2), and the writeperiod (3) may vary depending on a range to be cleared, a size of ODS tobe decoded, and a size of the Graphics Object to be written to theGraphics Plane. For convenience, a starting point of the decode period(2) in the drawing is the same as a starting point of the clearingperiod (1).

FIG. 21B illustrates a case in which the decode period (2) is long, andthe decode_duration equals to a total of the decode period (2) and thewrite period (3).

FIG. 21C illustrates a case in which the clearing period (1) is long,and the decode_duration equals to a total of the clearing period (1) andthe write period (3).

FIGS. 22A to 22C illustrate a case in which two ODS is included in oneWindow. The decode period (2) in both FIGS. 22B and 22C indicates atotal time period necessary for decoding two Graphics. Likewise, thewrite period (3) indicates a total time period necessary for writing twoGraphics to the Graphics Plane.

Even though the number of ODS is two, it is possible to calculate thedecode_duration in the same manner as in the case of FIG. 21. When thedecode period (3) for decoding the two ODS is long, the decode_durationequals to a total of the decode period (2) and the write period (3) asshown in FIG. 22B.

When the clearing period (1) is long, the decode_duration equals to atotal of the clearing period (1) and the write period (3).

FIG. 23A describes a case in which each of two Windows includes an ODS.As in the previous cases, when the clearing period (1) is longer thanthe decode period (3) for decoding the two ODS, the decode_durationequals to a total of the clearing period (1) and the decode period (2).However, when the clearing period (1) is shorter than the decode period(3), it is possible to write to a first Window before the decode period(2) ends. Accordingly, the decode_duration does not equal to either of atotal of the clearing period (1) and the write period (3), or a total ofthe decode period (2) and the write period (3).

When a time period necessary for decoding a first ODS is a write period(31) and a time period necessary for decoding a second ODS is a writeperiod (32), FIG. 23B illustrates a case in which the decode period (2)is longer than a total of the clearing period (1) and the write period(31). In this case, the decode_duration equals to a total of the decodeperiod (2) and the write period (32).

FIG. 23C illustrates a case in which a total of the clearing period (1)and the write period (31) is longer than the decode period (2). In thiscase, the decode_duration equals to a total of the clearing period (1),the write period (31), and the write period (32).

The size of the Graphics Plane is known from a model of the reproductionapparatus in advance. Also, the size of the Window, and the size andnumber of the ODS are also known at the authoring. Accordingly, it ispossible to find to which combination of time periods thedecode_duration equals: the clearing period (1) and the write period(3), the decode period (2) and the write period (3), the decode period(2) and the write period (32), or the clearing period (1), the writeperiod (3) and the write period (32).

By setting the PTS of the ODS based on the calculation of thedecode_duration explained above, it is possible to synchronously displaythe graphics with the picture data at a high accuracy. Such a syncdisplay at a high accuracy becomes possible by defining the Window andlimiting an area to re-draw to the Window. Thus, introducing a conceptof Window into an authoring environment has a great significance.

The following is an explanation about settings of the DTS and PTS of theWDS in the DSn. The DTS of the WDS may be set so as to satisfy anequation below.

DTS(DSn [WDS])≧DTS(DSn [PCS])

On the other hand, the OTS of the WDS in the DSn indicates a deadline tostart writing to the Graphics Plane. Because it is sufficient to writeto the Window on the Graphics Plane, the time to start writing to theGraphics Plane is determined by subtracting a time length indicated bythe PTS of the PCS from a time period necessary for writing the WDS.When a total size of the WDS is ΣSIZE (WDS.WIN [i]), the time necessaryfor clearing and re-drawing is “ΣSIZE (WDS.WIN[i])//256,000,000”. Whenexpressing at a time accuracy of 90,000 KHz, the time is “90,000×ΣSIZE(WDS.WIN[i])//256,000,000”.

Accordingly, it is possible to calculate the PTS of the WDS by thefollowing equation.

PTS(DSn[WDS])=PTS(DSn[PCS])−90000×ΣSIZE(WDS.WIN[i])//256,000,000

The PTS indicated in the WDS is the deadline, and it is possible tostart writing to the Graphics Plane earlier than the PTS. In otherwords, as shown in FIG. 23, once decoding the ODS to be rendered in oneof the Windows, writing of the Graphics Object obtained by the decodingmay start at this point.

As described above, it is possible to assign the Window to any point oftime on the reproduction timeline of the AVClip using the DTS and PTSadded to the WDS.

Explanations about an example of settings of the DTS and PTS in aDisplay Set based on the settings are give below, referring to specificexample illustrated in FIGS. 24-25. The example is about a case in whichsubtitles are displayed by writing to the Graphics Plane four times, andan update is performed for displaying each of two subtitles “what isblu-ray.” and “blu-ray is everywhere.” FIG. 24 illustrates shifts intime of the update in the example. Until a point t1, “what” isdisplayed, and “what is” is displayed after the t1 till a t2, and then“what is blu-ray. ” is displayed at a t3. After a whole sentence of afirst subtitle has appeared, a second subtitle “blu-ray is everywhere.”is displayed at a t4.

FIG. 25A illustrates four Display Sets that are described so as toperform the above explained update. A DS1 includes a PCS1.2 forcontrolling an update at the t1, a PDS1 for coloring, an ODS1corresponding to the subtitle “what is blu-ray.”, and an END as anending code of the DS1.

A DS2 includes a PCS1.2 for controlling an update at the t2, and an END.A DS 3 includes a PCS1.3 for controlling an update at a t3 and an END. ADS 4 includes a PCS2 for controlling an update at the t2, a PDS2 forcolor conversion, an ODS2 corresponding to the subtitle “blu-ray iseverywhere.”, and an END.

Referring to a timing chart in FIG. 25B, settings of DTS and PTS foreach functional segment in the four Display Sets are explained.

The reproduction timeline in the timing chart is the same as thetimeline in FIG. 24. In the timing chart of FIG. 25A, PTS (PCS1.1), PTS(PCS1.2), PTS (PCS1.3), and PTS (PCS2) are respectively set at a displaypoint t1 for displaying “what”, a display point t2 for displaying “whatis”, a display point t3 for displaying “what is blu-ray.”, and a displaypoint T4 for displaying “blue-ray is everywhere.”. Each PTS are set asabove, because it is necessary that the control such as croppingdescribed in each PCS is performed at the display point of eachsubtitle.

PTS (ODS1) and PTS (ODS2) are set so as to indicate points that arecalculated by subtracting decode_duration from the points indicated byPTS (PCS1.1) and PTS (PCS2), respectively, because PTS (PCS) is requiredto be set so as to satisfy a formula below.

PTS(DSn[PCS])≧DTS(DSn[PCS])+decodeduration(DSn)

In FIG. 25B, PTS (ODS2) is set so as to indicate a point t5 that comesbefore the point t4, and PTS (ODS1) is set so as to indicate a point t0that comes before the point t1.

DTS (ODS1) and DTS (ODS2) are set so as to indicate points that arecalculated by subtracting decode_duration from the points indicated byPTS (ODS1) and PTS (ODS2), respectively, because DTS (ODS) is requiredto be set so as to satisfy an equation below.

PTS(DS[ODSj])=DTS(DSn[ODSj])+90,000×(SIZE(DSn[ODSj])//Rd)

In FIG. 25B, PTS(ODS2) is set so as to indicate the point t5 that comesbefore the point t0, and PTS(ODS1) is set so as to indicate a point thatcomes before the point t0. A relation indicated by DTS (ODS2)=PTS(ODS1)is satisfied here.

By setting a PTS of an ODS immediately after a PTS of a preceding ODS tobe displayed earlier, the reproduction apparatus performs an operationin which the ODS is read out to the memory so as to overwrite thepreceding ODS, and thus it is possible that the reproduction process isperformed by a small size of memory. By realizing such a reproductionprocess, choices for a memory size for a reproduction apparatus becomewider.

The DTS of PCS1.1 is set so as to be DTS (PCS1.1)=DTS (ODS1), becausethe value for the DTS of PCS1.1 may be any point before the pointindicated by DTS (ODS1).

The PTS of ODS1, the DTS of ODS2, and the PTS of the PCS1.2, PCS1.3, andPCS2 are set at the point t0, so as to satisfy a relation indicated byan equation below.

PTS(ODS1)=DTS(ODS2)=PTS(PCS1.2)=PTS(PCS1.3)=PTS(PCS2)

This is because the value for the DTS of PCS1.2 and PCS1.3 may be anypoints before the point indicated by PTS (PCS1.3), and the DTS of PCS2may be any point before the point indicated by DTS (PCS2).

As explained above, it is possible to perform update of a succeeding PCSas soon as the updating of a previous PCS is completed, by reading outmore than one PCS at the same time.

It is sufficient that the DTS and PTS of PCS and the DTS and PTS of ODSsatisfy the relations indicated by the formulae above. Accordingly, itbecomes possible that the values are set to be DTS (ODS2)=PTS (ODS1) orPTS (ODS1)=DTS (ODS2)=PTS (PCS1.2)=PTS (PCS1.3)=DTS (PCS2). By suchsettings for time stamps, it is possible to adjust time length of aperiod in which load in decoding increases or more buffers are needed.Such adjustment expands possibility of the controls during thereproduction, and advantageous for those who perform authoring ormanufacture reproducing apparatuses.

Data structures of the Display Sets (PCS, WDS, PDS, ODS) explained aboveis an instance of the class structure described in a programminglanguage. Producers that perform authoring may obtain the datastructures on the BD-ROM by describing the class structure according tothe syntax provided in the Blu-ray Disc Prerecording Format.

Next, a practical example of a reproduction apparatus according to thepresent invention is explained below. FIG. 26 illustrates an internalstructure of the reproduction apparatus according to the presentinvention. The reproduction apparatus according to the present inventionis industrially produced based on the internal structure shown in thedrawing. The reproduction apparatus according to the present inventionis mainly structured by three parts: a system LSI, a drive device, and amicrocomputer system, and it is possible to industrially produce thereproduction apparatus by mounting the three parts to a cabinet and asubstrate of the apparatus. The system LSI is an integrated circuit inwhich various processing units for carrying out a function of thereproduction apparatus are integrated. The reproduction apparatusmanufactured in the above manner comprises a BD drive 1, a Read Buffer2, a PID filter 3, Transport Buffers 4 a-4 c, a peripheral circuit 4 d,a Video Decoder 5, a Video Plane 6, an Audio Decoder 7, a Graphics Plane8, a CLUT unit 9, an adder 10, a Graphics Decoder 12, a Coded DataBuffer 13, a peripheral circuit 13 a, a Stream Graphics Processor 14, anObject Buffer 15, a Composition Buffer 16, and a Graphical Controller17.

The BD drive 1 performs load/read/eject of the BD-ROM, and accesses tothe BD-ROM.

The Read Buffer 2 is a FIFO memory for storing the TS packets read fromthe BD-ROM in a first-in first-out order.

The PID filter 3 filters more than one TS packet outputted from the ReadBuffer 2. The filtering by the PID filter 3 is to write the only TSpackets having a desired PID to the Transport Buffers 4 a-4 c. Bufferingis not necessary for the filtering by the PID filter 3, and accordingly,the TS packets inputted to the PID filter 3 are written to the TransportBuffers 4 a-4 c without delay.

The Transport Buffers 4 a-4 c are for storing the TS packets outputtedfrom the PID filter 3 in a first-in first-out order. A speed at whichthe TS packets from the Transport Buffers 4 a-4 c are outputted is aspeed Rx.

The peripheral circuit 4 d is a wired logic for converting the TSpackets read from the Transport Buffers 4 a-4 c into functionalsegments. The functional segments obtained by the conversion are storedin the Coded Data Buffer 13.

The Video Decoder 5 decodes the more than one TS packets outputted fromthe PID filter 3 into a decompressed picture and writes to the VideoPlane 6.

The Video Plane 6 is a plane memory for a moving picture.

The Audio Decoder 7 decodes the TS packets outputted from the PID filter3 and outputs decompressed audio data.

The Graphics Plane 8 is a plane memory having an area for one screen,and is able to store decompressed graphics for one screen.

The CLUT unit 9 converts an index color of the decompressed Graphicsstored in the Graphics Plane 8 based on the values for Y, Cr, and Cbindicated by the PDS.

The adder 10 multiplies the decompressed Graphics to which the colorconversion has been performed by the CLUT unit 9 by the T value(Transparency) indicated by the PDS, adds the decomposed picture datastored in the Video Plane per pixel, then obtains and outputs thecomposed image.

The Graphics Decoder 12 decodes the Graphics Stream to obtain thedecomposed graphics, and writes the decomposed graphics as the GraphicsObject to the Graphics Plane 8. By decoding the Graphics Stream, thesubtitles and menus appear on the screen. The Graphics Decoder 12includes the Coded Data Buffer 13, the peripheral circuit 13 a, theStream Graphics Processor 14, the Object Buffer 15, the CompositionBuffer 16, and the Graphical Controller 17.

The Coded Data Buffer 13 is a buffer in which the functional segment isstored along with the DTS and PTS. The functional segment is obtained byremoving a TS packet header and a PES packet header from each TS packetin the Transport Stream stored in the Transport Buffer 4 a-4 c and byarranging the payloads sequentially. The PTS and DTS out of the removedTS packet header and PES packet header are stored after makingcorrespondence between the PES packets.

The peripheral circuit 13 a is a wired logic that realizes a transferbetween the Coded Data Buffer 13 and the Stream Graphics Processor 14,and a transfer between the Coded Data Buffer 13 and the CompositionBuffer 16. In the transfer operation, when a current time is a timeindicated by the DTS of the ODS, the ODS is transferred from the CodedData Buffer 13 to the Stream Graphics Processor 14. When the currenttime is a time indicated by the DTS of the PCS and PDS, the PCS and PDSare transferred to the Composition Buffer 16.

The Stream Graphics Processor 14 decodes the ODS, and writes thedecompressed graphics of the index color obtained by decoding as theGraphics Object to the Object Buffer 15. The decoding by the StreamGraphics Processor 14 starts at the time of the DTS corresponding to theODS, and ends by the decode end time indicated by the PTS correspondingto the ODS. The decoding rate Rd of the Graphics Object is an outputrate of the Stream Graphics Processor 14.

The Object Buffer 15 is a buffer corresponding to a pixel buffer in theETSI EN 300 743 standard, and the Graphics Object obtained by the decodethat the Stream Graphics Processor 14 performs is disposed. The ObjectBuffer 15 needs to be set to twice or four times as large as theGraphics Plane 8, because in case the Scrolling effect is performed, theObject Buffer 15 needs to store the Graphics Object that is twice orfour times as large as the Graphics Plane.

The Composition Buffer 16 is a memory in which the PCS and PDS aredisposed.

The Graphical Controller 17 decodes the PCS disposed in the CompositionBuffer 16, and performs a control based on the PCS. A timing forperforming the control is based on the PTS attached to the PCS.

Next, recommended values for the transfer rate and buffer size forstructuring the PID filter 3, Transport Buffer 4 a-4 c, Graphics Plane8, CULT unit 9, Coded Data Buffer 13, and Graphical Controller 17 areexplained. FIG. 27 illustrates sizes of the write rates Rx, Rc, and Rd,Graphics Plane 8, Coded Data Buffer 13, Object Buffer 15, andComposition Buffer 16.

The transfer rate Rc between the Object Buffer 15 and the Graphics Plane8 is the highest transfer rate in the reproduction apparatus of thepresent embodiment, and calculated as 256 Mbps (=500 Kbytes×29.97×2)from the window size and the frame rate.

Unlike the Rc, the transfer rate Rd (Pixel Decoding Rate) between theStream Graphics Processor 14 and Object Buffer 15 does not need to beupdated every video frame cycle, and ½ or ¼ of the Rc is sufficient forthe Rd. Accordingly, the Rd is either 128 Mbps or 64 Mbps.

The Transport Buffer Leak Rate Rx between the Transport Buffer 4 a-4 cand Coded Data Buffer 13 is a transfer rate of the ODS in a compressedstate. Accordingly, the transfer rate Rd multiplied by the compressionrate is sufficient for the Transport Buffer leak rate Rx. Given thecompression rate of the ODS is 25%, 16 Mbps (=64 Mbps×25%) issufficient.

The transfer rates and buffer sizes shown in the drawing are the minimumstandard, and it is also possible to set at higher rates and largersizes.

In the above structured reproduction apparatus, each elements perform adecoding operation in a pipeline structure.

FIG. 28 is a timing chart illustrating a pipeline processing by thereproduction apparatus. A 5th row in the drawing is a Display Set in theBD-ROM, a 4th row shows read periods from the PCS, WDS, PDS, and ODS tothe Coded Data Buffer 13. A 3rd row shows decode periods of each ODS bythe Stream Graphics Processor 14. A 1st row shows operations that theGraphical Controller 17 performs.

The DTS (decode starting time) attached to the ODS1 and ODS2 indicatet31 and t32 in the drawing, respectively. Because the decode startingtime is set by DTS, each ODS is required to be read out to the CodedData Buffer 13. Accordingly, the reading of the ODS1 is completed beforea decode period dp1 in which the ODS1 is decoded to the Coded DataBuffer 13. Also, the reading of the ODS2 is completed before a decodeperiod dp2 in which the ODS2 is decoded to the Coded Data Buffer 13.

On the other hand, the PTS (decode ending time) attached to the ODS1 andODS2 indicate 132 and 133 in the drawing, respectively. Decoding of theODS1 by the Stream Graphics Processor 14 is completed by the t32, anddecoding of the ODS2 is completed by a time indicated by the t33. Asexplained above, the Stream Graphics Processor 14 reads the ODS to theCoded Data Buffer 13 by the time the DTS of the ODS indicates, anddecodes the ODS read to the Coded Data Buffer 13 by the time the PTS ofthe ODS indicates, and write the decoded ODS to the Object Buffer 15.

A period cd1 at the 1st row in the drawing indicates a period necessaryfor the Graphics Controller 17 to clear the Graphics Plane. Also, aperiod td1 indicates a period necessary to write the Graphics Objectobtained on the Object Buffer to the Graphics Plane 8. The PTS of theWDS indicates the deadline to start writing, and the PTS of the PCSindicates ending of the write and a timing for display. At the timeindicated by the PTS of the PCS, the decompressed graphics to compose aninteractive screen is obtained on the Graphics Plane 8.

After the CLUT unit 9 performs the color conversion of the decompressedgraphics and the adder 10 performs composition of the decomposedgraphics and a decomposed picture stored in the Video Plane 6, acomposite image is obtained.

In the Graphics Decoder 12, the Stream Graphics Processor 14 performsdecoding continuously while the Graphics Controller 17 performs clearingof the Graphics Plane 8. By the above pipeline processing, it ispossible to perform a prompt display of the graphics.

In FIG. 28, a case in which the clearing of the Graphics Plane endsbefore completing the decoding of the ODS is explained. FIG. 29illustrates a timing chart in a pipeline processing of a case in whichthe decoding of the ODS ends before the clearing of the Graphics Planeis completed. In this case, it is not possible to write to the GraphicsPlane at a time of completion of the decoding of the ODS. When theclearing of the Graphics Plane is completed, it becomes possible towrite the graphics obtained by the decode to the Graphics Plane.

Next, how the controlling unit 20 and the Graphics Decoder 12 areimplemented is explained below. The controlling unit 20 is implementedby writing a program performing an operation shown in FIG. 30, andhaving a general CPU execute the program. The operation performed by thecontrolling unit 20 is explained by referring to FIG. 30.

FIG. 30 is a flowchart showing a process of a loading operation of thefunctional segment. In the flowchart, SegmentK is a variable indicatingeach of Segments (PCS, WDS, PDS, and ODS) that is read out inreproducing the AVClip. An ignore flag is a flag to determine if theSegmentK is ignored or loaded. The flowchart has a loop structure, inwhich first the ignore flag is initialized to 0 and then Steps S21-S24and Steps S27-S31 are repeated for each SegmentK (Step S25 and Step326).

Step S21 is for judging if the SegmentK is the PCS, and if the SegmentKis the PCS, judgments in Step S27 and Step S28 are performed.

Step S22 is for judging if the ignore flag is 0. If the ignore flag is0, the operation moves to Step S23, and if the ignore flag is 1, theoperation moves to Step S24. If the ignore flag is 0 (Yes in Step S22),the SegmentK is loaded to the Coded Data Buffer 13 in Step S23.

If the ignore flag is 1 (No in Step S22), the SegmentK is ignored inStep S24. By this, the rest of all functional segments that belong tothe DS are ignored because Step S22 is No (Step S24).

As explained above, whether the SegmentK is ignored or loaded isdetermined by the ignore flag. Steps S27-S31, S34, and S35 are steps forsetting the ignore flag.

In Step S27, it is judged if segmet_type of the SegmentK is theAcquisition Point. If the SegmentK is the Acquisition Point, theoperation moves to Step S28, and if the SegmentK is either the EpochStart or Normal Case, then the operation moves to Step S31.

In Step S28, it is judged if a preceding DS exists in any of the buffersin the Graphics Decoder 12 (the coded data buffer 13, stream graphicsprocessor 14, object buffer 15, and composition buffer 16). The judgmentin Step S28 is made when the judgment in Step S27 is Yes. A case inwhich a preceding DS does not exist in the Graphics Decoder 12 indicatesa case in which the skip operation is performed. In this case, thedisplay starts from the DS that is the Acquisition Point, and thereforethe operation moves to Step S30 (No in Step S28). In Step S30, theignore flag is set to 0 and the operation moves to Step S22.

A case in which a preceding DS exists in the Graphics Decoder 12indicates a case in which normal reproduction is performed. In thiscase, the operation moves to Step S29 (Yes in Step S28). In Step S29,the ignore flag is set to 1 and the operation moves to Step S22.

In Step S31, it is judged if segment_type of the PCS is the Normal Case.If the PCS is the Normal Case, the operation moves to Step S34, and ifthe PCS is the Epoch Start, then the ignore flag is set to 0 in StepS30.

In Step S34, like in Step S28, it is judged if a preceding DS exists inany of the buffers in the Graphics Decoder 12. If the preceding DSexists, the ignore flag is set to 0 (Step S30). If the preceding DS doesnot exist, it is not possible to obtain sufficient functional segmentsto compose an interactive screen and the ignore flag is set to 1 (StepS35).

By setting the ignore flag in the above manner, the functional segmentsthat constitute the Normal Case are ignored when the preceding DS doesnot exit in the Graphics Decoder 12.

Taking an example of a case in which the DS is multiplexed as shown inFIG. 31, a manner how the reading of the DS is performed is explained.In the example of FIG. 31, three DS are multiplexed with a movingpicture. The segment_type of a DS1 is Epoch Start, the segment_type of aDS10 is Acquisition Point, and the segment_type of a DS20 is NormalCase.

Given that, in an AVClip in which the three DS and the moving pictureare multiplexed, a skip operation to a picture data pt10 as shown by anarrow am1 is performed, the DS10 is the closest to a skipping target,and therefore the DS10 is the DS described in the flowchart in FIG. 30.Although the segment_type is judged to be the Acquisition Point in StepS27, the ignore flag is set to 0 because no preceding DS exists in theCoded Data Buffer 13, and the DS10 is loaded to the Coded Data Buffer 13of the reproduction apparatus as shown by an arrow md1 in FIG. 32. Onthe other hand, in a case in which the skipping target is after the DS10(an arrow am2 in FIG. 31), the DS20 is to be ignored because the DS20 isNormal Case Display Set and DS20 because a preceding DS does not existin the Coded Data Buffer 13 (an arrow md2 in FIG. 32).

FIG. 33 illustrates loading of the DS1, DS10, and DS20 in a normalreproduction. The DS1 whose segment_type of the PCS is the Epoch Startis loaded to the Coded Data Buffer 13 as it is (Step S23). However,because the ignore flag of the DS10 whose segment_type of the PCS is theAcquisition Point is set to 1 (Step S29), the functional segments thatconstitute the DS10 are ignored and not loaded to the Coded Data Buffer13 (an arrow rd2 in FIG. 34, and Step S24). Further, the DS20 is loadedto the Coded Data Buffer 13, because the segment_type of the PCS of theDS20 is the Normal Case (an arrow rd3 in FIG. 34).

Next, operations by the Graphical Controller 17 are explained. FIGS.35-37 illustrate a flowchart showing the operations performed by theGraphical Controller 17.

Steps S41-S44 are steps for a main routine of the flowchart and waitsfor any of events prescribed in Steps S41-S44 occurs.

Step S41 is to judge if a current reproducing time is a time indicatedby the DTS of the PCS, and if the judging is Yes, then an operation inSteps S45-S53 is performed.

Step S45 is to judge if the composition_state of the OCS is theepoch_start, and if judged to be the epoch_start, the Graphics Plane 8is all cleared in Step S46. If judged to be other than the epoch_start,the Window indicated by the window_horizontal_position,window_vertical_position, window_width, and window_height of the WDS iscleared.

Step S48 is a step performed after the clearing performed in Step S46 orin Step S47, and to judge if the time indicated by the PTS of any ODSxhas passed. The decoding of any ODSx could be already completed by thetime the clearing ends, because the clearing of an entire Graphics Plane8 takes time. Therefore, in Steps S48, it is judged if the decoding ofany ODSx is already completed by the time the clearing ends. If thejudging is No, the operation returns to the main routine. If the timeindicated by the PTS of any ODSx has already passed, an operation inSteps S49-S51 is performed. In Step S49, it is judged ifobject_crop_flag is 0, and if the flag indicates 0, then the GraphicsObject is set to “no display” (Step S50).

If the flag is not 0 in Step S49, then an object cropped based onobject_cropping_horizontal_position, object_cropping_vertical_position,cropping_width, and cropping_height is written to the Window in theGraphics Plane 8 at the position indicated byobject_cropping_horizontal_position andobject_cropping_vertical_position (Step S51). By the above operation,one or more Graphics Objects are rendered in the Window.

In Step 52, it is judged if the time corresponding to a PTS of anotherODSy has passed. When writing the ODSx to the Graphics Plane 8, if thedecoding of the ODSy has already been completed, then the ODSy becomesODSx (Step S53), and the operation moves to Step S49. By this, theoperation from Steps S49-S51 is also performed to another ODS.

Next, by referring to FIG. 36, Step S42 and Steps S54-S59 are explainedbelow.

In Step 42, it is judged if the current reproducing point is at the PTSof the WDS. If the judging is that the current reproducing point is atthe PTS of the WDS, then it is judged if the number of the Window is oneor not in Step S54. If the judging is two, the operation returns to themain routine. If the judging is one, a loop processing of Steps S55-S59is performed. In the loop processing, operations in Steps S55-S59 areperformed to each of the two Graphics Object displayed in the Window. InStep S57, it is judged if object_crop_flag indicates 0. If it indicates0, then the Graphics is not displayed (Step S58).

If it doesn't indicate 0, then a cropped object based onobject_cropping_horizontal_position, object_cropping_vertical_position,cropping_width, and cropping_height is written to the Window in theGraphics Plane 8 at the position indicated byobject_cropping_horizontal_position andobject_cropping_vertical_position (Step S59). By repeating the aboveoperations, more than one Graphics Object is rendered in the Window.

In Step S44, it is judged if the current reproducing point is at the PTSof the PDS. If the judging is that the current reproducing point is atthe PTS of the PDS, then it is judged if pallet_update_flag is one ornot in Step S60. If the judging is one, the PDS indicated by pallet_idis set in the CLUT unit (Step S61). If the judging is 0, then Step S61is skipped.

After that, the CLUT unit performs the color conversion of the GraphicsObject on the Graphics Plane 8 to be combined with the moving picture(Step S62).

Next, by referring to FIG. 37, Step S43 and Steps S64-S66 are explainedbelow.

In Step 43, it is judged if the current reproducing point is at the PTSof the ODS. If the judging is that the current reproducing point is atthe PTS of the ODS, then it is judged if the number of the Window is twoor not in Step S63. If the judging is one, the operation returns to themain routine. If the judging is two, operations in Steps S64-S66 areperformed. In Step S64, it is judged if object_crop_flag indicates 0. Ifit indicates 0, then the Graphics is not displayed (Step S65).

If it doesn't indicate 0 then a cropped object based onobject_cropping_horizontal_position, object_cropping_vertical_position,cropping_width, and cropping_height is written to the Window in theGraphics Plane 8 at the position indicated byobject_cropping_horizontal_position andobject_cropping_vertical_position (Step S66). By repeating the aboveoperations, the Graphics Object is rendered in each Window.

The above explanations are about the DTS and PTS of the PCS, and the DTSand PTS of the ODS that belong to DSn. The DTS and PTS of the PDS, andthe DTS and PTS of the END are not explained. First, the DTS and PTS ofthe PD that belongs to the DSn are explained.

As for the PDS that belongs to the DSn, it is sufficient if the PDS isavailable in the CLUT unit 9 by the PCS is loaded to the CompositionBuffer 16 (DTS (DSn [PCS])) after decoding start point of a first ODS(DTS (DSn [ODS1])). Accordingly, a value of PTS of each PDS(PDS1-PDSlast) in the DSn is required to be set so as to satisfy thefollowing relations.

DTS(DSn[PCS])≦PTS(DSn[PDS1])

PTS(DSn[PDSj])≦PTS(DSn[PDSj+1])≦PTS(DSn[PDSlast])

PTS(DSn[PDSlast])≦DTS(DSn[ODS1])

Note that the DTS of the PDS is net referred to during the reproducing,the DTS of the ODS is set to the same value as the PTS of the PDS inorder to satisfy the MPEG2 standard.

Following is an explanation about roles of the DTS and PTS in thepipeline processing of the reproduction apparatus when the DTS and PDSare set so as to satisfy the above relations. FIG. 38 illustrates thepipeline of the reproduction apparatus based on the PTS of the PDS. FIG.38 is based on FIG. 26. A first row in FIG. 38 indicates setting the ODSin the CLUT unit 9. Under the first row are the same as first to fifthrows in FIG. 26. The setting of the PDS1-PDSlast to the CLUT unit 9 isperformed after the transferring the PCS and WDS and before the decodingof the ODS1, and accordingly the setting of the PDS1-PDSlast to the CLUTunit 9 is set before a point indicated by the DTS of the ODS1 as shownby arrows up2 and up3.

As described above, the setting of the PDS is performed in prior to thedecoding of the ODS.

Next, a setting of the PTS of END of Display Set segment in the DSn isexplained. The END that belongs to the DSn indicates the end of the DSn,and accordingly it is necessary that the PTS of the END indicates thedecode ending time of the ODS2. The decode ending time is indicated bythe PTS (PTS(DSn[ODSlast])) of the ODS2 (ODSlast), and therefore the PTSof the END is required to be set at a value that satisfies an equationbelow.

DTS(DSn[END])=PTS(DSn[ODSlast])

In terms of a relation between the DSn and the PCS that belongs to theDSn+1, the PCS in the DSn is loaded to the Composition Buffer 16 beforea loading time of the first ODS (ODS1), and therefore the PTS of the ENDshould be after a loading time of the PCS in the DSn and before aloading time of the PCS that belongs to the DSn+1. Accordingly, the PTSof the END is required to satisfy a relation below.

DTS(DSn[PCS])≦PTS(DSn[END])≦DTS(DSn+1[PCS])

On the other hand, the loading time of the first ODS (ODS1) is before aloading time of a last PDS (PDSlast), and therefore the PTS of the END(PTS (DSn [END])) should be after a loading time of the PDS that belongsto the DSn (PTS (DSn [PDSlast])). Accordingly, the PTS of the END isrequired to satisfy a relation below.

PTS(DSn[PDSlast])≦PTS(DSn[END])

Following is an explanation about significance of the PTS of the END inthe pipeline processing of the reproduction apparatus. FIG. 39 is adiagram describes the significance of the END in the pipeline process ofthe reproduction apparatus. FIG. 39 is based on FIG. 26, and each row inFIG. 39 is substantially the same as FIG. 26 other than that a first rowin FIG. 39 indicates the content of the Composition Buffer 16. Further,in FIG. 39, 2 Display Sets, DSn and DSn+1 are illustrated. The ODSlastin the DSn is the last ODSn of A-ODSs, and accordingly, the pointindicated by the PTS of the END is before the DTS of the PCS in theDSn+1.

By the PTS of the END, it is possible to find when the loading of theODS in the DSn is completed during reproduction.

Note that although the DTS of the END is not referred to duringreproduction, the DTS of the END is set to the same value as the PTS ofthe END in order to satisfy the MPEG2 standard.

As described in the above, a part of the Graphics Plane is specified asthe Window for displaying the Graphics according to the presentembodiment, and therefore the reproduction apparatus does not have torender the Graphics for an entire Plane. The reproduction apparatus mayrender the Graphics for only a predetermined size of Window, such as 25%to 33% of the Graphics Plane. Because the rendering of the Graphicsother than the Graphics in the Window is not necessary, the load forsoftware in the reproduction apparatus decreases.

Even in a worst case in which the updating of the Graphics is performedsuch as ¼ of the Graphics Plane, it is possible to display the Graphicssynchronously with the picture by the reproduction apparatus performingthe write to the Graphics Plane at a predetermined transfer rate such as256 Mbps, and by setting the size of the Window so as to ensure the syncdisplay with the picture.

Thus, it is possible to realize a high resolution subtitle display forvarious reproduction apparatuses, because the sync display is easilyensured.

Second Embodiment

In the first embodiment, the size of the Window is set to ¼ of an entireGraphics Plane and the writing rate Rc to the Graphics Plane is set to256 Mbps, so as to update the Graphics for each video frame. Further, bysetting the update rate to be ½ or ¼ of the video frame rate, it becomespossible to update a larger size of the Graphics. However, when theupdate rate is ½ or ¼ of the video frame rate, it takes 2 or 4 frames towrite to the Graphics Plane. When one Graphics Plane is provided, aprocess of the writing of the Graphics during the 2 or 4 frames duringwhich the Graphics is written becomes visible to a user. In such a case,a display effect such as switching from one Graphics to a largerGraphics in a moment may not be effectively realized. Therefore, in asecond embodiment, two Graphics Planes are provided. FIG. 40 illustratesan internal structure of a reproduction apparatus according to thesecond embodiment. The reproduction apparatus in FIG. 40 is new incomparison with the reproduction apparatus according to FIGS. 24 and 25in that the reproduction apparatus in FIG. 40 has two Graphics Planes (aGraphics Plane 81 and a Graphics Plane 82 in the drawing), and the twoGraphics Planes constitute a double buffer. Accordingly, it is possibleto write to one of the Graphics Planes while the reading is performedfrom the other of the Graphics Planes. Further, a Graphical Controller17 according to the second embodiment switches the Graphics Plane thatis read out at a point indicated by the PTS of the PCS.

FIG. 41 schematically illustrates an operation of reading out andwriting to the Graphics Planes that constitute the double buffer. Anupper row indicates contents of the Graphics Plane 81, and a bottom rowindicates contents of the Graphics Plane 82. The contents of the bothGraphics Planes per frame are illustrated from a first frame to a fifthframe (left to right). A part of the Graphics Planes 81 and 82 for eachframe that are enclosed by a thick line is a target of the reading out.In the drawing, a face mark is contained in the Graphics Plane 81, andthe face mark is to be replaced by a sun mark that is in an ObjectBuffer 15. A size of the sun mark is 4 Mbytes, which is a maximum sizeof the Object Buffer 15.

To write the sun mark to the Graphics Plane 82 at the writing rate tothe Graphics Plane (Rc=256 Mbps), it takes 4 frames till the writing iscompleted, and only ¼ of the sun mark is written to the Graphics Plane82 during the first frame, 2/4 during the second frame, and ¾ during thethird frame. Because the Graphics Plane 81 is the target to be displayedin the screen, however, the process of writing the sun mark to theGraphics Plane is not visible to the user. At the fifth frame, when thetarget of display switches to the Graphics Plane 82, the contents of theGraphics Plane 82 become visible to the user. Thus, the switching fromthe face mark to the sun mark is completed.

As described above, according to the second embodiment, it is possibleto switch display in the screen to another graphics at once ever, when alarge size graphics is written to the Graphics Plane for four frames,and therefore useful when displaying such as credits, an outline of amovie, or a warning, at once in an entire screen.

Third Embodiment

A third embodiment relates to a manufacturing process of the BD-ROM.FIG. 42 is a flowchart illustrating the manufacturing process of theBD-ROM according to the third embodiment.

The manufacturing of the BD-ROM includes a material manufacturing stepS201 for producing material and recording movies and sound, an authoringstep S202 for generating an application format using an authoringapparatus, and a pressing step S203 for manufacturing a master disc ofthe BD-ROM and pressing to finish the BD-ROM.

The authoring step of the BD-ROM includes Steps S204-S209 as follows.

In Step S204, the WDS is described so as to define the Window in whichsubtitles are displayed, and in Step S205, a period of time during whichthe window is defined to appear at the same position in the same size,is set as one Epoch, and the PCS for each Epoch is described.

After obtaining the OCS in the above manner, the Graphics as materialfor subtitles is converted into the ODS, and the Display Set is obtainedby combining the ODS with the PCS, WDS, and PDS in Step S206. Then, inStep S207, each functional segment in the Display Set is divided intothe PES packets, and the Graphics Stream is obtained by attaching thetime stamp.

Finally, in Step S208, the AVClip is generated by multiplexing thegraphics stream with the video stream and audio stream that aregenerated separately.

After obtaining the AVClip, the application format is completed byadjusting the AVClip into the BD-ROM format.

Other Matters

The above explanations do not illustrate all embodiments according tothe present invention. The present invention may also be realized bymodified examples shown below. Inventions described in the Claims of thepresent application include the above embodiments as well as expansionsor generalizations of the modified examples. Although the degree ofexpansion and generalization is based on characteristics oftechnological levels of the related art at the time of the application,the inventions according to the Claims of the present applicationreflect the means to solve the technical problems in the conventionalart, and therefore the scope of the invention does not exceed thetechnological scope that those skilled in the art would recognize asmeans to solve the technical problems in the conventional art. Thus, theinventions according to the Claims of the present applicationsubstantially correspond to the descriptions of the details of theinvention.

(1) The BD-ROM is used in the explanations of all of the aboveembodiments. However, characteristics of the present invention are inthe Graphics Stream that is recorded in a media, and suchcharacteristics do not depend on physical properties of the BD-ROM. Anyrecording medium that is capable of storing the Graphics Stream mayrealize the present invention. Examples of such recording medium includeoptical discs such as a DVD-ROM, a DVD-RAM, a DVD-RW, a DVD-R, aDVD-+RW, a DVD+R, a CD-R, and a CD-RW, magnetic optical discs such as aPD and MO, semiconductor memory cards such as a compact flash card, asmart media, a memory stick, a multi-media card, and a PCM-CIA card, andmagnetic discs such as a flexible disc, a SuperDisk, a Zip, and a Clik!,and removable hard disk drives such as an ORB, a Jaz, a SparQ, a SyJet,a EZFley, and a micro drive, in addition to built-in hard disks.

(2) The reproduction apparatus described in all of the above embodimentsdecodes the AVClip recorded in the BD-ROM and outputs the decoded AVClipto a TV. However, it is also possible to realize the present inventionby the reproduction apparatus that includes only a BD-ROM drive, and theTV provided with other elements. In this case, the reproductionapparatus and the TV may be connected via IEEE1394 to create a homenetwork. Moreover, although the reproduction apparatus in theembodiments is used by connecting to the TV, the reproduction apparatusmay be an all in one TV and reproduction apparatus. Further, the LSI(integrated circuit) alone that forms an essential part of theprocessing in the reproduction apparatus of each embodiment may be putinto practice. Such reproduction apparatus and the LSI are bothdescribed in the present, specification, and therefore manufacturing areproduction apparatus based on the internal structure of thereproduction apparatus according to the first embodiment is animplementation of the present invention, no matter what working exampleit may take. Moreover, transferring whether as a gift or profit,lending, and importing of the reproduction apparatus according to thepresent invention are also considered to be the implementation of thepresent invention. Offering such transfer and lend to common users byway of storefront display and distribution of brochure is alsoconsidered to be the implementation of the present invention.

(3) Information processing executed by a program shown in the flowchartsis realized using hardware resources, and accordingly, the program whoseprocessing is shown in each flowchart is established alone as aninvention. Although all the above embodiments describe the programaccording to the present invention as built-in in the reproductionapparatus, the program according to the first embodiment alone may beimplemented. Examples of implementation of the program alone include (i)producing the programs, (ii) transferring the programs as a gift orprofit, (iii) lending the programs, (iv) importing the programs, (v)providing general public with the programs via an interactive electroniccommunications line, and (vi) offering the transfer and lend to commonusers by way of storefront display and distribution of brochure.

(4) Time elements in the steps that are performed in a sequential orderin each flowchart are essential characteristics of the presentinvention, and it is clear that the process shown in each flowchartsdiscloses a method of reproduction. Performing the processes illustratedby the flowcharts by carrying out the operation in each stepsequentially to obtain the object of the present invention and realizesthe effects is the implementation of the recording method according tothe present invention.

(5) It is desirable to add an extension header to each packetsconstituting the AVClip when recording in the BD-ROM. The extensionheader is 4-bytes data called TP_extra_header that includesarrival_time_stamp and copy_permission _indicator. The TS packets havingthe TP_extra_header (hereinafter referred to as the TS packets with EX)are grouped by every 32 packets and written to 3 sectors. A groupincluding 32 TS packets with EX has 6144 bytes (=32×192), which is thesame size as a size of 3 sectors 6144 bytes (=2048×3). The group of 32TS packets with EX stored in 3 sectors is called Aligned Unit.

When the reproduction apparatus is used in the home network connectedvia the IEEE1394, the reproduction apparatus transmits the Aligned Unitin a following transmission procedure. A sender obtains TP_extra_headerfrom each of the 32 TS packets with EX included in the Aligned Unit, andoutputs main body of the TS packets after decoding based on DTCPstandard. When outputting the TS packets, isochronous packets areinserted between any two successive TS packets. Insertion points arepositions based on time indicated by arrival_time_stamp inTP_extra_header. Along with the output of the TS packets, thereproduction apparatus outputs DTCP_descriptor. The DTCP_descriptorindicates settings for copy permission. By describing theDTCP_descriptor so as to indicate the copying is prohibited, the TSpackets are not recorded by other devices when using in the home networkconnected via the IEEE1394.

(6) The digital stream in the above embodiments is the AVClip. However,the digital stream may be a Video Object (VOB) in DVD-Video standard orDVD-Video Recording standard. The VOB is a ISO/IEC13818-1-standard-basedprogram stream obtained by multiplexing the video stream and audiostream. Further, the video stream in the AVClip may also be based onMPEG4 or WMV standard. Moreover, the audio stream may be based onLinear-PCM, Dolby-AC3, MP3, MPEG-AAC, or DTS standard.

(7) The movie in the above embodiments may be obtained by encodinganalog image signals transmitted via analog broadcasting, or may bestream data constituted by transport stream transmitted via digitalbroadcasting.

It is also possible to obtain contents by encoding analog or digitalimage signals that are recorded in a videotape. Further, the contentsmay also be obtained by encoding analog or digital image signals thatare directly loaded from a video camera. Moreover, contents may be adigital work delivered by a distributing server.

(8) The Graphics Object in the first and second embodiments is rasterdata that is encoded based on run-length limited encoding. Therun-length limited encoding is adopted for compressing and encoding theGraphics Object because the run-length limited encoding is the mostappropriate for compressing and decompressing the subtitles. Thesubtitles have characteristics that a length in a horizontal directionbecomes relatively long, and accordingly, high compression rate isobtained by using the run-length limited encoding. In addition, therun-length limited encoding is preferable for making software fordecoding because the load in decompression is low. Further, in order toshare the apparatus structure for decoding between the subtitles and theGraphics Object, the same compression/decompression method as for thesubtitles is employed for the Graphics Object. However, using therun-length limited encoding is not an essential part of the presentinvention, and the Graphics Object may be PNG data. Moreover, theGraphics Object is not required to be the raster data and may be vectordata. In addition, the Graphics Object may be transparent graphics.

(9) A target for display effect by the PCS may be the graphics for thesubtitles selected based on a language setting of the reproductionapparatus. Realizing such a display has a high utilitarian value,because it becomes possible to realize an effect, which is realized bythe moving picture itself in the conventional DVD, by the subtitlegraphics displayed according to the language setting of the reproductionapparatus.

(10) A target for display effect by the PCS may be the graphics for thesubtitles selected based on a display setting of the reproductionapparatus. Specifically, Graphics for various display modes such as awide-vision, a pan-scan, and a letterbox are recorded in the BD-ROM, andthe reproduction apparatus select any of the recorded settings based onthe setting for the TV to which the reproduction apparatus is connected.In this case, the display effect based on the PCS is performed to thesubtitle graphics displayed according to the display setting, thesubtitles look more impressive and professional. Realizing such adisplay has a high utilitarian value, because it becomes possible torealize an effect similar to the effect realized in the moving pictureitself in the conventional DVD, by the subtitle graphics being displayedaccording to the display setting of the reproduction apparatus.

(11) In the first embodiment, the Window size is set to be 25% of anentire Graphics Plane in order to set the writing rate Rc to theGraphics Plane to the rate at which the clearing of the Graphics Planeand redrawing is performed in one frame. However, the Rc may be set sothat the clearing and re-drawing are completed during a vertical retraceperiod. Given that the vertical retrace period is 25% of 1/29.93seconds, the Rc is 1 Gbps. Setting the Rc in such a way has a highutilitarian value, because it is possible to display the graphicssmoother.

Further, it is also possible to perform the writing synchronously withline scanning, in addition to the writing during the vertical retraceperiod. By this, it is possible to display the graphics smoother even atthe writing rate Rc is 256 Mbps.

(12) In the above embodiments, the Graphics Plane is mounted to thereproduction apparatus. However, it is also possible to mount a linebuffer for storing decompressed pixels for a line in place of theGraphics Plane to the reproduction apparatus. Conversion into imagesignals is performed by line, and therefore the conversion into theimage signals may be carried out with the line buffer alone.

(13) In the above embodiment, the explanations are given taking the textsubtitles for the movie as the examples of the graphics . However, thegraphics may include such as a combination of devices, characters, andcolors that constitute a trade mark, a national crest, a national flag,a national emblem, a symbol and a great seal for supervision orcertification that a national government uses, a crest, a flag, or anemblem of an international organization, or a mark of origin of aparticular item.

(14) In the first embodiment, the Window for rendering the subtitles isdefined either at an upper side of the screen, or the bottom of thescreen, assuming that the subtitles are written horizontally. However,the Window may be defined to appear either on left or right side of thescreen so as to display the subtitles or the left and right of thescreen. In this way, it is possible to change text direction and displaysubtitles vertically.

(15) The AVClip in the above embodiments constitutes the movie. However,the AVClip may also be used for karaoke. In this case, the PCS mayperform the display effect such that the color of the subtitles changesalong with a song.

REFERENCE NUMBERS

1 BD drive

2 Read Buffer

3 PID Filter

4 TB Buffer

5 Video Decoder

6 Video Plane

7 Audio Decoder

8 Graphics Plane

9 CULT unit

10 adder

12 Graphics Decoder

13 Coded Data Buffer

14 Stream Graphics Processor

16 Composition Buffer

17 Graphics Controller

200 reproduction apparatus

300 TV

400 remote controller

INDUSTRIAL APPLICABILITY

A recording medium and a reproduction apparatus according to the presentinvention are capable of displaying subtitles with a display effect.Accordingly, it is possible to add higher values to movies supplied inthe market, and to activate markets for films and consumer products.Thus, the recording medium and the reproduction apparatus according tothe present invention have high industrial applicability in industrysuch as the film industry and consumer products industry.

1.-21. (canceled)
 22. A playback apparatus comprising: an acquisitionunit operable to acquire from a recording medium a graphics streamincluding graphics data and window information; a processor operable todecode the graphics data to obtain uncompressed graphics data; an objectbuffer storing therein the uncompressed graphics data; a controlleroperable to render the uncompressed graphics data in a graphics plane,the graphics plane being an area for rendering; wherein the windowinformation indicates a rectangular area of the graphics plane, and therectangular area is fixed during an Epoch, and in a case where therectangular area is part of the graphic plane, the controller rendersonly within the rectangular area.
 23. The playback apparatus of claim22, wherein the Epoch shows a period in which the uncompressed graphicsdata is rendered in a fixed area of the graphics plane, and the graphicsstream includes at least one Epoch, and the Epoch includes the graphicsdata or the window information.
 24. A playback method comprising:acquiring from a recording medium a graphics stream including graphicsdata and window information; decoding the graphics data to obtainuncompressed graphics data; storing the uncompressed graphics data in anobject buffer; rendering the uncompressed graphics data in a graphicsplane, the graphics plane being an area for rendering; wherein thewindow information indicates a rectangular area of the graphics plane,and the rectangular area is fixed during an Epoch, and in a case wherethe rectangular area is part of the graphic plane, the rendering steprenders only within the rectangular area.
 25. A recording medium havingrecorded thereon a graphics stream including graphics data and windowinformation, wherein the graphics data is to be decoded to beuncompressed graphics data, and the uncompressed graphics data is to bestored in an object buffer, and the uncompressed graphics data is to berendered in a graphics plane, the graphics plane being an area forrendering, and the window information indicates a rectangular area ofthe graphics plane, and the rectangular area is fixed during an Epoch,and in a case where the rectangular area is part of the graphic plane,the uncompressed graphics data is rendered only within the rectangulararea.
 26. A recording apparatus comprising: a recording unit operable torecord a graphics stream that includes graphics data and windowinformation on a recording medium, wherein the graphics data is to bedecoded to be uncompressed graphics data, and the uncompressed graphicsdata is to be stored in an object buffer, and the uncompressed graphicsdata is to be rendered in a graphics plane, the graphics plane being anarea for rendering, and the window information indicates a rectangulararea of the graphics plane, and the rectangular area is fixed during anEpoch, and in a case where the rectangular area is part of the graphicplane, the uncompressed graphics data is rendered only within therectangular area.
 27. A recording method comprising: recording agraphics stream including graphics data and window information on arecording medium, wherein the graphics data is to be decoded to beuncompressed graphics data, and the uncompressed graphics data is to bestored in an object buffer, and the uncompressed graphics data is to berendered in a graphics plane, the graphics plane being an area forrendering, and the window information indicates a rectangular area ofthe graphics plane, and the rectangular area is fixed during an Epoch,and in a case where the rectangular area is part of the graphic plane,the uncompressed graphics data is rendered only within the rectangulararea.
 28. An integrated circuit comprising: a processor operable todecode graphics data included in a graphics stream to obtainuncompressed graphics data to be stored in an object buffer; acontroller operable to render the uncompressed graphics data in agraphics plane, the graphics plane being an area for rendering; whereinthe window information indicates a rectangular area of the graphicsplane, and the rectangular area is fixed during an Epoch, and in a casewhere the rectangular area is part of the graphic plane, the controllerrenders only within the rectangular area.